From be48fd614e75dedca3f85e4772c34bf832626993 Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Mon, 9 Nov 2026 10:57:40 -0500 Subject: [PATCH 1/2] Remove context-free actions A transaction may not carry context-free actions, which leaves it no context-free data either, and `check_transaction_authorization` rejects such a transaction too. The `context_free_actions` and `context_free_data` fields stay in the transaction format, so signing digests and transaction ids are unchanged. Contracts can no longer send context-free inline actions or read context-free data: the `send_context_free_inline` and `get_context_free_data` intrinsics are removed, with the context-free execution path and the preconditions that told context-free and context-aware intrinsics apart. Action traces lose `context_free`, in the trace API and in SHiP. The OC code cache header and codegen version move to 2, because the intrinsic table changed. `chain_config` drops `context_free_discount_net_usage_num` and `context_free_discount_net_usage_den`, and the ids above them shift down by two. That changes the genesis and so the chain id, the SHiP `chain_config`, and `sysio.system`'s `setparams`. Every system and test contract is rebuilt with the matching wire-cdt. The deep-mind log, the snapshot compatibility files, the consensus blockchain data and the sys-util snapshot info expectations are regenerated. Change-Id: Ibc528e4dd4249ba21f0ddcee863f643d7811497d --- contracts/sysio.bios/sysio.bios.abi | 8 - contracts/sysio.bios/sysio.bios.wasm | Bin 41772 -> 41634 bytes contracts/sysio.system/src/sysio.system.cpp | 36 +- contracts/sysio.system/sysio.system.abi | 8 - contracts/sysio.system/sysio.system.wasm | Bin 221419 -> 221401 bytes contracts/tests/sysio.system_tester.hpp | 2 - contracts/tests/sysio.system_tests.cpp | 2 - docs/ed25519-verification.md | 4 +- docs/kv-behavior-spec.md | 3 +- docs/roa-overview.md | 11 +- libraries/chain/CMakeLists.txt | 1 - libraries/chain/apply_context.cpp | 106 ++--- libraries/chain/authorization_manager.cpp | 20 +- libraries/chain/chain_config.cpp | 5 - libraries/chain/deep_mind.cpp | 4 - libraries/chain/genesis_intrinsics.cpp | 2 - .../include/sysio/chain/abi_serializer.hpp | 3 +- .../include/sysio/chain/apply_context.hpp | 9 +- .../include/sysio/chain/chain_config.hpp | 22 - .../chain/include/sysio/chain/config.hpp | 2 - .../chain/include/sysio/chain/deep_mind.hpp | 1 - .../chain/include/sysio/chain/exceptions.hpp | 3 +- .../include/sysio/chain/genesis_state.hpp | 2 - libraries/chain/include/sysio/chain/trace.hpp | 7 +- .../sysio/chain/transaction_context.hpp | 6 +- .../sysio/chain/webassembly/interface.hpp | 44 +- .../intrinsic_signature_registry.hpp | 8 - .../sysio/chain/webassembly/preconditions.hpp | 10 - .../sys-vm-oc/intrinsic_mapping.hpp | 2 - .../chain/webassembly/sys-vm-oc/sys-vm-oc.hpp | 2 +- libraries/chain/trace.cpp | 6 +- libraries/chain/transaction.cpp | 16 +- libraries/chain/transaction_context.cpp | 65 +-- libraries/chain/webassembly/context_free.cpp | 8 - libraries/chain/webassembly/permission.cpp | 2 + .../runtimes/sys-vm-oc/code_cache.cpp | 2 +- .../chain/webassembly/runtimes/sys-vm.cpp | 148 +++---- libraries/chain/webassembly/transaction.cpp | 10 +- libraries/state_history/abi.cpp | 4 - .../sysio/state_history/serialization.hpp | 3 - .../testing/native_intrinsic_exports.cpp | 11 - .../sysio/trace_api/chain_extraction.hpp | 2 +- .../include/sysio/trace_api/extract_util.hpp | 1 - tests/PerformanceHarness/genesis.json | 2 - tests/TestHarness/launcher.py | 2 - tests/chain_plugin_tests.cpp | 2 - tests/light_validation_sync_test.py | 25 +- tests/sysio_util_snapshot_info_test.py | 4 +- tests/trx_generator/README.md | 6 +- tests/trx_generator/main.cpp | 2 +- tests/trx_generator/trx_generator.cpp | 22 +- tests/trx_generator/trx_generator.hpp | 9 +- tests/trx_generator/trx_generator_tests.cpp | 16 +- tutorials/bios-boot-tutorial/genesis.json | 2 - unittests/abi_tests.cpp | 1 - unittests/action_ordering_tests.cpp | 87 +--- unittests/api_tests.cpp | 387 ++++------------- unittests/checktime_tests.cpp | 14 +- unittests/deep-mind/deep-mind.log | 394 +++++++++--------- unittests/ed25519_intrinsic_tests.cpp | 10 +- unittests/intrinsic_probe_tests.cpp | 11 - unittests/intrinsic_value_tests.cpp | 10 +- unittests/kv_intrinsic_probe_tests.cpp | 85 +--- unittests/noop_tests.cpp | 7 +- unittests/restart_chain_tests.cpp | 45 +- unittests/snapshots/blocks.index | Bin 232 -> 232 bytes unittests/snapshots/blocks.log | Bin 140050 -> 139818 bytes unittests/snapshots/snap_v1.bin.gz | Bin 54240 -> 54196 bytes unittests/snapshots/snap_v1.bin.json.gz | Bin 92638 -> 92573 bytes unittests/snapshots/snap_v1.json.gz | Bin 92333 -> 92269 bytes unittests/state_history_tests.cpp | 3 +- unittests/sysio_system_tester.hpp | 2 - unittests/system_host_tests.cpp | 6 +- .../action_order_test/action_order_test.abi | 23 - .../action_order_test/action_order_test.cpp | 18 +- .../action_order_test/action_order_test.hpp | 88 +--- .../action_order_test/action_order_test.wasm | Bin 5254 -> 4516 bytes .../action_results/action_results.cpp | 8 +- .../action_results/action_results.wasm | Bin 3526 -> 3526 bytes .../intrinsic_probe/intrinsic_probe.abi | 10 - .../intrinsic_probe/intrinsic_probe.cpp | 20 +- .../intrinsic_probe/intrinsic_probe.wasm | Bin 34039 -> 33791 bytes .../params_test/params_test.cpp | 130 +++--- .../params_test/params_test.wasm | Bin 17354 -> 16883 bytes .../test-contracts/test_api/test_action.cpp | 101 +---- .../test-contracts/test_api/test_api.cpp | 14 +- .../test-contracts/test_api/test_api.hpp | 6 - .../test-contracts/test_api/test_api.wasm | Bin 108215 -> 104084 bytes .../test_api/test_api_common.hpp | 14 - .../test_api/test_transaction.cpp | 24 -- .../consensus_blockchain/blocks.index | Bin 136 -> 136 bytes .../test-data/consensus_blockchain/blocks.log | Bin 57088 -> 56856 bytes unittests/test-data/consensus_blockchain/id | Bin 32 -> 32 bytes .../test-data/consensus_blockchain/snapshot | Bin 2147914 -> 2147635 bytes unittests/test_cfd_transaction.cpp | 55 ++- unittests/test_cfd_transaction.hpp | 87 ++-- 96 files changed, 699 insertions(+), 1664 deletions(-) delete mode 100644 libraries/chain/webassembly/context_free.cpp diff --git a/contracts/sysio.bios/sysio.bios.abi b/contracts/sysio.bios/sysio.bios.abi index 1c9ccef4bc..c1d99df7bd 100644 --- a/contracts/sysio.bios/sysio.bios.abi +++ b/contracts/sysio.bios/sysio.bios.abi @@ -102,14 +102,6 @@ "name": "net_usage_leeway", "type": "uint32" }, - { - "name": "context_free_discount_net_usage_num", - "type": "uint32" - }, - { - "name": "context_free_discount_net_usage_den", - "type": "uint32" - }, { "name": "max_block_cpu_usage", "type": "uint32" diff --git a/contracts/sysio.bios/sysio.bios.wasm b/contracts/sysio.bios/sysio.bios.wasm index f91d42ab43b0aa4e3455929bbedb8fc74842ecb3..da7782a967978143371cf3bb9828f669f5432a24 100755 GIT binary patch delta 162 zcmZ2;jA_wPrVTe)nC>jue4B+sgz?7YClYo{b2&DvNbY5t94n*GXf)Yh#&)uRjPGQ9 zDgDW(WUMDQ%c?LRV91&rm?pY;zwB#!#(9%h#})`Va%2hgGfF8i2yiPfgE%ge9RtND x+r_alc20JUi_@OSsKDrGlqCSBO|k?gfcO?r+6GDk4F*a~R*V@TClYonvpE@=CdZ~qY_^kJ%rseFN}thWvZ9pj zBcWo##(lCfr0V01jd0Fq-m0-~%Yv&yP4p4hA<%jCc~W3p~+0hd5O zqm%-J0Jj43 stream(buf, sizeof(buf)); @@ -62,24 +62,22 @@ namespace sysiosystem { << uint8_t(1) << params.target_block_net_usage_pct << uint8_t(2) << params.max_transaction_net_usage << uint8_t(3) << params.net_usage_leeway - << uint8_t(4) << params.context_free_discount_net_usage_num - << uint8_t(5) << params.context_free_discount_net_usage_den - - << uint8_t(6) << params.max_block_cpu_usage - << uint8_t(7) << params.target_block_cpu_usage_pct - << uint8_t(8) << params.max_transaction_cpu_usage - << uint8_t(9) << params.min_transaction_cpu_usage - - << uint8_t(10) << params.max_transaction_lifetime - << uint8_t(11) << params.max_transaction_delay - << uint8_t(12) << params.max_inline_action_size - << uint8_t(13) << params.max_inline_action_depth - << uint8_t(14) << params.max_authority_depth - - << uint8_t(15) << params.max_action_return_value_size - << uint8_t(16) << params.max_kv_key_size - << uint8_t(17) << params.max_kv_value_size - << uint8_t(18) << params.max_kv_secondary_key_size; + + << uint8_t(4) << params.max_block_cpu_usage + << uint8_t(5) << params.target_block_cpu_usage_pct + << uint8_t(6) << params.max_transaction_cpu_usage + << uint8_t(7) << params.min_transaction_cpu_usage + + << uint8_t(8) << params.max_transaction_lifetime + << uint8_t(9) << params.max_transaction_delay + << uint8_t(10) << params.max_inline_action_size + << uint8_t(11) << params.max_inline_action_depth + << uint8_t(12) << params.max_authority_depth + + << uint8_t(13) << params.max_action_return_value_size + << uint8_t(14) << params.max_kv_key_size + << uint8_t(15) << params.max_kv_value_size + << uint8_t(16) << params.max_kv_secondary_key_size; set_parameters_packed(buf, stream.tellp()); #endif diff --git a/contracts/sysio.system/sysio.system.abi b/contracts/sysio.system/sysio.system.abi index 9680275d74..a12dd058ba 100644 --- a/contracts/sysio.system/sysio.system.abi +++ b/contracts/sysio.system/sysio.system.abi @@ -240,14 +240,6 @@ "name": "net_usage_leeway", "type": "uint32" }, - { - "name": "context_free_discount_net_usage_num", - "type": "uint32" - }, - { - "name": "context_free_discount_net_usage_den", - "type": "uint32" - }, { "name": "max_block_cpu_usage", "type": "uint32" diff --git a/contracts/sysio.system/sysio.system.wasm b/contracts/sysio.system/sysio.system.wasm index d12f870c2fdf03cbd7fab4d0c4b8f3be62a584f5..0f8d43450ad65633abd37a948520f366ddfcef66 100755 GIT binary patch delta 6332 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 delta 4923 zcmbtY4Nz3q6@K@=x699hKC37y!rPT7RGDZef`Suxv=W6lqBEVbnWiDeBz7ginixfB z7I1?!>XdMZYppuQv5s107nT%fn#47wk@~wDn&32T$PAqkP2x69J7j8Y&$;hCmfxCA zoRRzU?!D*S?|$by_wJ2ziMP)s2I}Iu_gc^!e|skDg-vt59~+ibyNm1Bf|uuPR#_<& zj&qOsh*q6oh3<$k}m20{)41S4qm_uG$~8!XNi&~>0QjNu^d@SU=AGe zT0agM(rXM{CZ_+9zTtFDDHSt&ai)SZ9XS3|=GIxRBso%Ww)zS)Ol(V(VD{o9Pl#=F zv2@Aktis8xP|A_dFf426AJ35kVv5G}UdgR~z|kVEdQ&3bogAyN=p}u_|Ee+rSK?v> z+T1|)d9GB21vaEMLL||Eeo3PX*P05vRnP~O15jgWG&WMnKbMV5F?Q{51 z1=yaI0A)E$f{SID4`^JEMN68j$(b@?%c+{dyRhG#jfE!b$&m8oOHjN%8zwYPWD!Vh zEQHi`Ghsu^V))6r&93c+`Op4pxTZ_FQYCGz+R1P~*s6wu>rzuTsbQ{jClffU*SIb_ z32_asAk;Q~CfbT$c-F2kkKj6|Q*r z%TRmVT}+JVAvgQD8~^rjw|ao#hRk*t+wTr(ca3O=2HP6w{tDQ&Aupj1QAR`(Q=YUIDGO}GW_V-EcRyzoT`9T8)w9H z3OABr)5eP7Xwtkh=*Q2{gdTx#`vbuhKiy&^^OL7YIKP`M& zHO1|;X^Ng!l4z*f9YJZCRD|oA2o$PQhptgc^!W{gV*fM9oQcd13#;cs?<-2OEt``| zDPkf<5;iP8EmC+kPlnfCoSH(@_t54Bm|J~YR8Yp=p}@AoYTuOEie96vK*bWm#??Fr zj_u{{bjk6ijVT1eVQ_9O_Uyv|(Uff7EK1FW77t*R_TNCU(=3y>4YCy+$P!d-rz$8Z zWpghL!ZLPnEJoca@zt0rXqCZZ)%VFuM4Cq9rVON^rY=3h7)Swja>&H@u-z@%0 z^2%v&CNSe`P1`wo+V4;sw>U_H49OlXb%b*!W+iopB>@F-=jAB#i!yX%lnWzQaGs(J zqhM$>nA8t}bJtW@>3?cW<_S3KMf_2ci8(A&h#i0zcR!JT1g{(VLvB@+i;2wG&Na)W zW`797Rt)I0DqW)DxF3IZ4(?02B{Lf|HhCu*0dO8+@sFTE_lV3iGfO&88Oh8GtcHc5LaO4Uo~W1sL5zng+PlFG*S zakK04sVL3pFD`|DiPrBb!u?6!x$`n`F_+LjSwqq6M2%K;x=LdFUK;u(%prU<1@@iH zYI=Q}@-G>c_-v!MX|K&?U`W?NOx${>Py+!gb;V%U7^H&?Um79vzpf|DIhnuM{!gGWH`- zJ2GsYB1ShCLngemOPXB(AG=E-(vk)TpH6dp4Sub35Wmz{tp&sdVO&00lGsGUg(Tj0 z=o^DW`ECVHz4{!~ZJiD~_aqKRs&_aZ-%UcyaCwo02N1sFmT$9RPg|^w5WNHY+jKZv zX%BvJ^lkS4qIJSrus}J4_YC-3Z3#;HlPm+WPE_Ds2@@Z_SI~toCDa{w$3HKTq*XKW zdku$w`d8RV`gH{sot!(R1~a=z=o|@0&l6d{8QgR-pR>Q?^==g&#{!2D@K@1yKeRrb z#G=76BH$mHmLYOSmUI;@(6v-OZTTw>M`=@7jOlZU#|XUzcn7gE0fm{h0nD&w5+?#t zk5o)c`r%z}+Gq z8=x#OKfT((C4!Q9md!BZyL)JS_lWq$G{>0*D z>cK=JN=zg^YGWc1B_t4R&Z9xA|1Oq zn=dD~a(eO_FR`=u))fzKNe}qKHkKUQYP@>ed=VRSdYTa?R8t9GXLy)eA|AZ)iWd{H zw~f19cGAaq%qRFhvqm!UMx@r@5_T0|KB+`=-d1+eJ8#-<$usXJMXcvBUpgnqmj`GR; z34(mGeu8N4I5B}`x)PAV>M H["Actor billed CPU and NET, contract not.
Marker authorizes RAM billed to the actor;
contract may still bill RAM to itself."] ``` -Declared regular actions only. A context-free action takes the marker alone, as above; inline and -notification execution differ on both authorization and billing, below. +Declared actions only. Inline and notification execution differ on both authorization and billing, +below. The objective billing map is populated only from the actions a transaction *declares*, and is keyed on `payer()` — so two declared actions sharing a payer aggregate into one entry. An authorizing @@ -705,8 +701,7 @@ Two anchors to calibrate against: - **NET is small and predictable, but it is not just the action.** Each action is billed its own serialized size *plus a share of the transaction's overhead* — a fixed 16 bytes, the signatures, - the extensions and the header, divided across the actions and rounded up. A context-free action - is additionally billed the bytes of its matching `context_free_data` entry: + the extensions and the header, divided across the actions and rounded up: ```cpp // libraries/chain/transaction.cpp diff --git a/libraries/chain/CMakeLists.txt b/libraries/chain/CMakeLists.txt index da7cafee3a..772cd06f0d 100644 --- a/libraries/chain/CMakeLists.txt +++ b/libraries/chain/CMakeLists.txt @@ -61,7 +61,6 @@ set(CHAIN_WEBASSEMBLY_SOURCES webassembly/authorization.cpp webassembly/cf_system.cpp webassembly/cf_transaction.cpp - webassembly/context_free.cpp webassembly/console.cpp webassembly/crypto.cpp webassembly/database.cpp diff --git a/libraries/chain/apply_context.cpp b/libraries/chain/apply_context.cpp index fbfec3707c..d3bf3f8356 100644 --- a/libraries/chain/apply_context.cpp +++ b/libraries/chain/apply_context.cpp @@ -69,7 +69,6 @@ apply_context::apply_context(controller& con, transaction_context& trx_ctx, uint action_trace& trace = trx_ctx.get_action_trace(action_ordinal); act = &trace.act; receiver = trace.receiver; - context_free = trace.context_free; } void apply_context::exec_one() @@ -99,38 +98,36 @@ void apply_context::exec_one() action_return_value.clear(); receiver_account = &db.get( receiver ); receiver_account_metadata = db.find( receiver ); - if( !(context_free && control.skip_trx_checks()) ) { - privileged = receiver_account_metadata != nullptr && receiver_account_metadata->is_privileged(); - auto native = control.find_apply_handler( receiver, act->account, act->name ); - if( native ) { - if( trx_context.enforce_whiteblacklist && control.is_speculative_block() ) { - control.check_contract_list( receiver ); - control.check_action_list( act->account, act->name ); - } - (*native)( *this ); + privileged = receiver_account_metadata != nullptr && receiver_account_metadata->is_privileged(); + auto native = control.find_apply_handler( receiver, act->account, act->name ); + if( native ) { + if( trx_context.enforce_whiteblacklist && control.is_speculative_block() ) { + control.check_contract_list( receiver ); + control.check_action_list( act->account, act->name ); } + (*native)( *this ); + } - if( receiver_account_metadata != nullptr && receiver_account_metadata->code_hash != digest_type() ) { - if( trx_context.enforce_whiteblacklist && control.is_speculative_block() ) { - control.check_contract_list( receiver ); - control.check_action_list( act->account, act->name ); - } - try { - control.get_wasm_interface().apply( receiver_account_metadata->code_hash, - receiver_account_metadata->vm_type, - receiver_account_metadata->vm_version, - *this ); - } catch( const wasm_exit& ) {} - } else { - // allow inline and notify to non-existing contracts - // allow onblock and native actions when no sysio system contract by allowing no contract on sysio - if (receiver != sysio::chain::config::system_account_name && act->account == receiver && get_sender().empty()) { - SYS_ASSERT(false, action_validate_exception, - "No contract for action {} on account {}", act->name, receiver); - } + if( receiver_account_metadata != nullptr && receiver_account_metadata->code_hash != digest_type() ) { + if( trx_context.enforce_whiteblacklist && control.is_speculative_block() ) { + control.check_contract_list( receiver ); + control.check_action_list( act->account, act->name ); + } + try { + control.get_wasm_interface().apply( receiver_account_metadata->code_hash, + receiver_account_metadata->vm_type, + receiver_account_metadata->vm_version, + *this ); + } catch( const wasm_exit& ) {} + } else { + // allow inline and notify to non-existing contracts + // allow onblock and native actions when no sysio system contract by allowing no contract on sysio + if (receiver != sysio::chain::config::system_account_name && act->account == receiver && get_sender().empty()) { + SYS_ASSERT(false, action_validate_exception, + "No contract for action {} on account {}", act->name, receiver); } - validate_account_ram_deltas(); } + validate_account_ram_deltas(); } FC_RETHROW_EXCEPTIONS( warn, "{} <= {}::{} pending console output: {}", receiver, act->account, act->name, _pending_console_output ) @@ -265,14 +262,10 @@ void apply_context::exec() exec_one(); } - if( !_cfa_inline_actions.empty() || !_inline_actions.empty() ) { + if( !_inline_actions.empty() ) { SYS_ASSERT( recurse_depth < control.get_global_properties().configuration.max_inline_action_depth, transaction_exception, "max inline action depth per transaction reached" ); - for( uint32_t ordinal : _cfa_inline_actions ) { - trx_context.execute_action( ordinal, recurse_depth + 1 ); - } - for( uint32_t ordinal : _inline_actions ) { trx_context.execute_action( ordinal, recurse_depth + 1 ); } @@ -343,7 +336,7 @@ void apply_context::require_recipient( account_name recipient ) { if( !has_recipient(recipient) ) { _notified.emplace_back( recipient, - schedule_action( action_ordinal, recipient, false ) + schedule_action( action_ordinal, recipient ) ); if( auto dm_logger = control.get_deep_mind_logger(trx_context.is_transient()) ) { @@ -407,7 +400,7 @@ void apply_context::execute_inline( action&& a ) { auto inline_receiver = a.account; _inline_actions.emplace_back( - schedule_action( std::move(a), inline_receiver, false ) + schedule_action( std::move(a), inline_receiver ) ); if (auto dm_logger = control.get_deep_mind_logger(trx_context.is_transient())) { @@ -415,38 +408,20 @@ void apply_context::execute_inline( action&& a ) { } } -void apply_context::execute_context_free_inline( action&& a ) { - auto* code = control.db().find(a.account); - SYS_ASSERT( code != nullptr, action_validate_exception, - "inline action's code account {} does not exist", a.account ); - - SYS_ASSERT( a.authorization.size() == 0, action_validate_exception, - "inline context-free actions cannot have authorizations" ); - - auto inline_receiver = a.account; - _cfa_inline_actions.emplace_back( - schedule_action( std::move(a), inline_receiver, true ) - ); - - if( auto dm_logger = control.get_deep_mind_logger(trx_context.is_transient())) { - dm_logger->on_send_context_free_inline(); - } -} - -uint32_t apply_context::schedule_action( uint32_t ordinal_of_action_to_schedule, account_name receiver, bool context_free ) +uint32_t apply_context::schedule_action( uint32_t ordinal_of_action_to_schedule, account_name receiver ) { uint32_t scheduled_action_ordinal = trx_context.schedule_action( ordinal_of_action_to_schedule, - receiver, context_free, + receiver, action_ordinal, first_receiver_action_ordinal ); act = &trx_context.get_action_trace( action_ordinal ).act; return scheduled_action_ordinal; } -uint32_t apply_context::schedule_action( action&& act_to_schedule, account_name receiver, bool context_free ) +uint32_t apply_context::schedule_action( action&& act_to_schedule, account_name receiver ) { uint32_t scheduled_action_ordinal = trx_context.schedule_action( std::move(act_to_schedule), - receiver, context_free, + receiver, action_ordinal, first_receiver_action_ordinal ); act = &trx_context.get_action_trace( action_ordinal ).act; @@ -497,21 +472,6 @@ int apply_context::get_action( uint32_t type, uint32_t index, char* buffer, size return ps; } -int apply_context::get_context_free_data( uint32_t index, char* buffer, size_t buffer_size )const -{ - const auto& trx = trx_context.packed_trx.get_signed_transaction(); - - if( index >= trx.context_free_data.size() ) return -1; - - auto s = trx.context_free_data[index].size(); - if( buffer_size == 0 ) return s; - - auto copy_size = std::min( buffer_size, s ); - memcpy( buffer, trx.context_free_data[index].data(), copy_size ); - - return copy_size; -} - uint64_t apply_context::next_global_sequence() { const auto& p = control.get_dynamic_global_properties(); if ( trx_context.is_read_only() ) { diff --git a/libraries/chain/authorization_manager.cpp b/libraries/chain/authorization_manager.cpp index a0fc71ef97..e4ba891e4f 100644 --- a/libraries/chain/authorization_manager.cpp +++ b/libraries/chain/authorization_manager.cpp @@ -613,24 +613,8 @@ namespace sysio { namespace chain { _noop_checktime ); - // Context-free actions are not walked, matching consensus: controller passes only - // `trn.actions` to check_authorization, so CFAs are never authorization-checked there either. - // Their only screen is validate_referenced_accounts, which permits a CFA to carry EITHER no - // authorization at all (the ordinary case -- a CFA has no access to authorization state) OR - // exactly one, and that one only a `sysio.payer` marker whose actor is already a declared - // payer in trx.actions. - // - // That allowance exists for billing, not authorization: transaction_context::init bills every - // action -- context-free included -- to act.payer(), which falls through to the contract when - // no marker is present. Without it a self-paying account's CFAs would still bill the contract, - // splitting one transaction across two payers. The pairing requirement is what keeps it safe: - // a CFA carries no signatures and no real permission, so a marker standing alone would name a - // payer with nothing authorizing it. Requiring the actor to already be a payer in trx.actions - // means the CFA inherits an authorization proven over there (index 0, paired real permission, - // satisfying signatures) rather than creating one. - // - // For discovery that means a CFA has no key to contribute: the marker is keyless, and the key - // backing that payer sits on the paired real permission in trx.actions, which is walked below. + // Only `trn.actions` is walked, matching consensus: transaction_context rejects a transaction that carries + // context-free actions, and controller passes only `trn.actions` to check_authorization. for (const auto& act : trx.actions ) { // `sysio.payer` is a virtual marker, not a permission: no `permission_object` exists for // it and it carries no keys of its own. The key that authorizes a payer is the one on the diff --git a/libraries/chain/chain_config.cpp b/libraries/chain/chain_config.cpp index 7287aa9d4d..31c0cdd976 100644 --- a/libraries/chain/chain_config.cpp +++ b/libraries/chain/chain_config.cpp @@ -23,11 +23,6 @@ namespace sysio { namespace chain { "max transaction net usage must be at least {} bytes", config::min_max_transaction_net_usage ); - SYS_ASSERT( context_free_discount_net_usage_den > 0, action_validate_exception, - "net usage discount ratio for context free data cannot have a 0 denominator" ); - SYS_ASSERT( context_free_discount_net_usage_num <= context_free_discount_net_usage_den, action_validate_exception, - "net usage discount ratio for context free data cannot exceed 1" ); - SYS_ASSERT( min_transaction_cpu_usage <= max_transaction_cpu_usage, action_validate_exception, "min transaction cpu usage cannot exceed max transaction cpu usage" ); SYS_ASSERT( max_transaction_cpu_usage < (max_block_cpu_usage - min_transaction_cpu_usage), action_validate_exception, diff --git a/libraries/chain/deep_mind.cpp b/libraries/chain/deep_mind.cpp index a1e330e914..9d507e1781 100644 --- a/libraries/chain/deep_mind.cpp +++ b/libraries/chain/deep_mind.cpp @@ -147,10 +147,6 @@ namespace sysio::chain { { fc_dlog(_logger, "CREATION_OP INLINE {}", _action_id); } - void deep_mind_handler::on_send_context_free_inline() - { - fc_dlog(_logger, "CREATION_OP CFA_INLINE {}", _action_id); - } // KV deep_mind hooks — unified KV_OP format with table_id void deep_mind_handler::on_kv_set(const kv_row& row, bool is_new, account_name old_payer, const char* old_value, std::size_t old_value_size) diff --git a/libraries/chain/genesis_intrinsics.cpp b/libraries/chain/genesis_intrinsics.cpp index c93d7cb968..3fddfe2ea9 100644 --- a/libraries/chain/genesis_intrinsics.cpp +++ b/libraries/chain/genesis_intrinsics.cpp @@ -57,8 +57,6 @@ const std::vector genesis_intrinsics = { "tapos_block_num", "get_action", "send_inline", - "send_context_free_inline", - "get_context_free_data", "memcpy", "memmove", "memcmp", diff --git a/libraries/chain/include/sysio/chain/abi_serializer.hpp b/libraries/chain/include/sysio/chain/abi_serializer.hpp index 7d7ba1c7d0..7957cb7d98 100644 --- a/libraries/chain/include/sysio/chain/abi_serializer.hpp +++ b/libraries/chain/include/sysio/chain/abi_serializer.hpp @@ -565,7 +565,7 @@ namespace impl { template static void add( mutable_variant_object& out, const char* name, const action_trace& act_trace, const Resolver& resolver, abi_traverse_context& ctx ) { - static_assert(fc::reflector::total_member_count == 19); + static_assert(fc::reflector::total_member_count == 18); auto h = ctx.enter_scope(); mutable_variant_object mvo; @@ -575,7 +575,6 @@ namespace impl { mvo("receipt", act_trace.receipt); mvo("receiver", act_trace.receiver); add(mvo, "act", act_trace.act, resolver, ctx); - mvo("context_free", act_trace.context_free); mvo("elapsed", act_trace.elapsed); mvo("cpu_usage_us", act_trace.cpu_usage_us); mvo("net_usage", act_trace.net_usage); diff --git a/libraries/chain/include/sysio/chain/apply_context.hpp b/libraries/chain/include/sysio/chain/apply_context.hpp index 3f73b62ee0..4f66386ace 100644 --- a/libraries/chain/include/sysio/chain/apply_context.hpp +++ b/libraries/chain/include/sysio/chain/apply_context.hpp @@ -29,11 +29,10 @@ class apply_context { void exec_one(); void exec(); void execute_inline( action&& a ); - void execute_context_free_inline( action&& a ); protected: - uint32_t schedule_action( uint32_t ordinal_of_action_to_schedule, account_name receiver, bool context_free ); - uint32_t schedule_action( action&& act_to_schedule, account_name receiver, bool context_free ); + uint32_t schedule_action( uint32_t ordinal_of_action_to_schedule, account_name receiver ); + uint32_t schedule_action( action&& act_to_schedule, account_name receiver ); /// Authorization methods: @@ -149,7 +148,6 @@ class apply_context { int get_action( uint32_t type, uint32_t index, char* buffer, size_t buffer_size )const; - int get_context_free_data( uint32_t index, char* buffer, size_t buffer_size )const; vector get_active_producers() const; uint64_t next_global_sequence(); @@ -159,7 +157,6 @@ class apply_context { void add_ram_usage( account_name account, int64_t ram_delta ); void finalize_trace( action_trace& trace, const fc::time_point& start ); - bool is_context_free()const { return context_free; } bool is_privileged()const { return privileged; } action_name get_receiver()const { return receiver; } const action& get_action()const { return *act; } @@ -186,7 +183,6 @@ class apply_context { uint32_t first_receiver_action_ordinal = 0; uint32_t action_ordinal = 0; bool privileged = false; - bool context_free = false; public: std::vector action_return_value; @@ -209,7 +205,6 @@ class apply_context { std::optional _first_receiver_metadata; ///< cached across notification dispatch vector< std::pair > _notified; ///< keeps track of new accounts to be notifed of current message vector _inline_actions; ///< action_ordinals of queued inline actions - vector _cfa_inline_actions; ///< action_ordinals of queued inline context-free actions std::string _pending_console_output; flat_set _account_ram_deltas; ///< flat_set of account_delta so json is an array of objects diff --git a/libraries/chain/include/sysio/chain/chain_config.hpp b/libraries/chain/include/sysio/chain/chain_config.hpp index 5a6bee259e..4a2c3ec02f 100644 --- a/libraries/chain/include/sysio/chain/chain_config.hpp +++ b/libraries/chain/include/sysio/chain/chain_config.hpp @@ -21,8 +21,6 @@ struct chain_config_v0 { target_block_net_usage_pct_id, max_transaction_net_usage_id, net_usage_leeway_id, - context_free_discount_net_usage_num_id, - context_free_discount_net_usage_den_id, max_block_cpu_usage_id, target_block_cpu_usage_pct_id, max_transaction_cpu_usage_id, @@ -43,8 +41,6 @@ struct chain_config_v0 { uint32_t target_block_net_usage_pct; ///< the target percent (1% == 100, 100%= 10,000) of maximum net usage; exceeding this triggers congestion handling uint32_t max_transaction_net_usage; ///< the maximum objectively measured net usage that the chain will allow regardless of account limits uint32_t net_usage_leeway; - uint32_t context_free_discount_net_usage_num; ///< the numerator for the discount on net usage of context-free data - uint32_t context_free_discount_net_usage_den; ///< the denominator for the discount on net usage of context-free data uint32_t max_block_cpu_usage; ///< the maxiumum billable cpu usage (in microseconds) for a block uint32_t target_block_cpu_usage_pct; ///< the target percent (1% == 100, 100%= 10,000) of maximum cpu usage; exceeding this triggers congestion handling @@ -78,8 +74,6 @@ struct chain_config_v0 { lhs.target_block_net_usage_pct, lhs.max_transaction_net_usage, lhs.net_usage_leeway, - lhs.context_free_discount_net_usage_num, - lhs.context_free_discount_net_usage_den, lhs.max_block_cpu_usage, lhs.target_block_cpu_usage_pct, lhs.max_transaction_cpu_usage, @@ -99,8 +93,6 @@ struct chain_config_v0 { rhs.target_block_net_usage_pct, rhs.max_transaction_net_usage, rhs.net_usage_leeway, - rhs.context_free_discount_net_usage_num, - rhs.context_free_discount_net_usage_den, rhs.max_block_cpu_usage, rhs.target_block_cpu_usage_pct, rhs.max_transaction_cpu_usage, @@ -126,7 +118,6 @@ struct chain_config_v0 { << "Target Block Net Usage Percent: " << ((double)target_block_net_usage_pct / (double)config::percent_1) << "%, " << "Max Transaction Net Usage: " << max_transaction_net_usage << ", " << "Net Usage Leeway: " << net_usage_leeway << ", " - << "Context-Free Data Net Usage Discount: " << (double)context_free_discount_net_usage_num * 100.0 / (double)context_free_discount_net_usage_den << "% , " << "Max Block CPU Usage: " << max_block_cpu_usage << ", " << "Target Block CPU Usage Percent: " << ((double)target_block_cpu_usage_pct / (double)config::percent_1) << "%, " @@ -163,7 +154,6 @@ using config_range = data_range; FC_REFLECT(sysio::chain::chain_config_v0, (max_block_net_usage)(target_block_net_usage_pct) (max_transaction_net_usage)(net_usage_leeway) - (context_free_discount_net_usage_num)(context_free_discount_net_usage_den) (max_block_cpu_usage)(target_block_cpu_usage_pct) (max_transaction_cpu_usage)(min_transaction_cpu_usage) @@ -205,12 +195,6 @@ inline DataStream &operator<<(DataStream &s, const sysio::chain::data_entry>(DataStream &s, sysio::chain::data_entry; struct action_trace { - action_trace( const transaction_trace& trace, const action& act, account_name receiver, bool context_free, + action_trace( const transaction_trace& trace, const action& act, account_name receiver, uint32_t action_ordinal, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ); - action_trace( const transaction_trace& trace, action&& act, account_name receiver, bool context_free, + action_trace( const transaction_trace& trace, action&& act, account_name receiver, uint32_t action_ordinal, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ); action_trace(){} @@ -34,7 +34,6 @@ namespace sysio::chain { std::optional receipt; action_name receiver; action act; - bool context_free = false; fc::microseconds elapsed; std::optional cpu_usage_us; // only populated for input action std::optional net_usage; // only populated for input action @@ -122,7 +121,7 @@ FC_REFLECT( sysio::chain::account_delta, FC_REFLECT( sysio::chain::action_trace, (action_ordinal)(creator_action_ordinal)(closest_unnotified_ancestor_action_ordinal)(receipt) - (receiver)(act)(context_free)(elapsed)(cpu_usage_us)(net_usage)(console)(trx_id)(block_num)(block_time) + (receiver)(act)(elapsed)(cpu_usage_us)(net_usage)(console)(trx_id)(block_num)(block_time) (producer_block_id)(account_ram_deltas)(except)(error_code)(return_value) ) // @ignore except_ptr diff --git a/libraries/chain/include/sysio/chain/transaction_context.hpp b/libraries/chain/include/sysio/chain/transaction_context.hpp index 3ea2f83f81..f2ebf909c4 100644 --- a/libraries/chain/include/sysio/chain/transaction_context.hpp +++ b/libraries/chain/include/sysio/chain/transaction_context.hpp @@ -160,15 +160,15 @@ namespace sysio::chain { const action_trace& get_action_trace( uint32_t action_ordinal )const; /** invalidates any action_trace references returned by get_action_trace */ - uint32_t schedule_action( const action& act, account_name receiver, bool context_free, + uint32_t schedule_action( const action& act, account_name receiver, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ); /** invalidates any action_trace references returned by get_action_trace */ - uint32_t schedule_action( action&& act, account_name receiver, bool context_free, + uint32_t schedule_action( action&& act, account_name receiver, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ); /** invalidates any action_trace references returned by get_action_trace */ - uint32_t schedule_action( uint32_t action_ordinal, account_name receiver, bool context_free, + uint32_t schedule_action( uint32_t action_ordinal, account_name receiver, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ); void execute_action( uint32_t action_ordinal, uint32_t recurse_depth ); diff --git a/libraries/chain/include/sysio/chain/webassembly/interface.hpp b/libraries/chain/include/sysio/chain/webassembly/interface.hpp index 379751aae2..5b74e12cc1 100644 --- a/libraries/chain/include/sysio/chain/webassembly/interface.hpp +++ b/libraries/chain/include/sysio/chain/webassembly/interface.hpp @@ -17,18 +17,6 @@ namespace webassembly { inline apply_context& get_context() { return context; } inline const apply_context& get_context() const { return context; } - /** - * Retrieve the signed_transaction.context_free_data[index]. - * - * @ingroup context-free - * @param index - the index of the context_free_data entry to retrieve. - * @param[out] buffer - output buffer of the context_free_data entry. - * - * @retval -1 if the index is not valid. - * @retval size of the cfd if the buffer is empty, otherwise return the amount of data copied onto the buffer. - */ - int32_t get_context_free_data(uint32_t index, span buffer) const; - /** * Allows a privileged smart contract, e.g. the system contract, to pre-activate a consensus protocol upgrade feature. * @@ -609,14 +597,14 @@ namespace webassembly { /** * Aborts processing of this action and unwinds all pending changes. * - * @ingroup context-free + * @ingroup system */ void abort() const; /** * Aborts processing of this action if the test condition is false. * - * @ingroup context-free + * @ingroup system * @param condition - test condition: 1 or 0. Any other value aborts. * @param msg - string explaining the reason for failure. */ @@ -625,7 +613,7 @@ namespace webassembly { /** * Aborts processing of this action if the test condition is false. * - * @ingroup context-free + * @ingroup system * @param condition - test condition: 1 or 0. Any other value aborts. * @param msg - string explaining the reason for failure. */ @@ -636,7 +624,7 @@ namespace webassembly { * It can be used to provide an error code rather than a message string on assertion checks. * If the assertion fails, the provided error code will be made available through the exception message. * - * @ingroup context-free + * @ingroup system * @param condition - test condition: 1 or 0. Any other value aborts. * @param error_code - the error code associated. A reserved code aborts whatever the condition is. */ @@ -645,7 +633,7 @@ namespace webassembly { /** * This method will abort execution of wasm without failing the contract. * - * @ingroup context-free + * @ingroup system * @param code - must be 0. Any other value aborts the action. The host gives the code no meaning. */ void sysio_exit(int32_t code) const; @@ -1067,18 +1055,10 @@ namespace webassembly { */ void send_inline(span data); - /** - * Send a context free inline action in the context of the parent transaction of this operation. - * - * @ingroup transaction - * @param data - the packed free inline action to be sent. Trailing bytes abort. - */ - void send_context_free_inline(span data); - /** * Access a copy of the currently executing transaction. * - * @ingroup context-free-transaction + * @ingroup transaction * @param[out] data - the currently executing transaction (packed). * * @retval false if transaction was not found. @@ -1089,7 +1069,7 @@ namespace webassembly { /** * Gets the size of the currently executing transaction. * - * @ingroup context-free-transaction + * @ingroup transaction * * @return size of the currently executing transaction. */ @@ -1098,7 +1078,7 @@ namespace webassembly { /** * Gets the expiration of the currently executing transaction. * - * @ingroup context-free-transaction + * @ingroup transaction * * @return expiration of the currently executing transaction in seconds since Unix epoch. */ @@ -1107,7 +1087,7 @@ namespace webassembly { /** * Gets the block number used for TAPOS on the currently executing transaction. * - * @ingroup context-free-transaction + * @ingroup transaction * * @return block number used for TAPOS on the currently executing transaction. */ @@ -1116,7 +1096,7 @@ namespace webassembly { /** * Gets the block prefix used for TAPOS on the currently executing transaction. * - * @ingroup context-free-transaction + * @ingroup transaction * * @return block prefix used for TAPOS on the currently executing transaction. */ @@ -1125,9 +1105,9 @@ namespace webassembly { /** * Retrieve the indicated action from the active transaction. * - * @ingroup context-free-transaction + * @ingroup transaction * - * @param type - 0 for context free action, 1 for action. + * @param type - 0 for a context-free action, of which a transaction has none, 1 for an action. * @param index - the index of the requested action. * @param[out] buffer - the action we want (packed). * diff --git a/libraries/chain/include/sysio/chain/webassembly/intrinsic_signature_registry.hpp b/libraries/chain/include/sysio/chain/webassembly/intrinsic_signature_registry.hpp index 396d47846b..acc2ff92e1 100644 --- a/libraries/chain/include/sysio/chain/webassembly/intrinsic_signature_registry.hpp +++ b/libraries/chain/include/sysio/chain/webassembly/intrinsic_signature_registry.hpp @@ -48,12 +48,6 @@ namespace sysio::chain::webassembly { "intrinsic_signature_registry.hpp, bump protocol " \ "feature, regen reference data, sync wire-cdt" ) -// ============================================================================= -// Context-free data -// ============================================================================= -SYS_PIN_INTRINSIC( get_context_free_data, - int32_t (interface::*)(uint32_t, span) const ); - // ============================================================================= // Privileged // ============================================================================= @@ -334,8 +328,6 @@ SYS_PIN_INTRINSIC( memset, // ============================================================================= SYS_PIN_INTRINSIC( send_inline, void (interface::*)(span) ); -SYS_PIN_INTRINSIC( send_context_free_inline, - void (interface::*)(span) ); SYS_PIN_INTRINSIC( read_transaction, int32_t (interface::*)(span) const ); SYS_PIN_INTRINSIC( transaction_size, diff --git a/libraries/chain/include/sysio/chain/webassembly/preconditions.hpp b/libraries/chain/include/sysio/chain/webassembly/preconditions.hpp index 3ce2e58539..b793f438de 100644 --- a/libraries/chain/include/sysio/chain/webassembly/preconditions.hpp +++ b/libraries/chain/include/sysio/chain/webassembly/preconditions.hpp @@ -110,16 +110,6 @@ namespace sysio { namespace chain { namespace webassembly { return f128_is_nan( f ); } - SYS_VM_PRECONDITION(context_free_check, - SYS_VM_INVOKE_ONCE([&](auto&&...) { - SYS_ASSERT(ctx.get_host().get_context().is_context_free(), unaccessible_api, "this API may only be called from context_free apply"); - })); - - SYS_VM_PRECONDITION(context_aware_check, - SYS_VM_INVOKE_ONCE([&](auto&&...) { - SYS_ASSERT(!ctx.get_host().get_context().is_context_free(), unaccessible_api, "only context free api's can be used in this context"); - })); - SYS_VM_PRECONDITION(privileged_check, SYS_VM_INVOKE_ONCE([&](auto&&...) { SYS_ASSERT(ctx.get_host().get_context().is_privileged(), unaccessible_api, diff --git a/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/intrinsic_mapping.hpp b/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/intrinsic_mapping.hpp index 8e0a3c3856..834330657c 100644 --- a/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/intrinsic_mapping.hpp +++ b/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/intrinsic_mapping.hpp @@ -82,8 +82,6 @@ inline constexpr auto get_intrinsic_table() { "env.tapos_block_num", "env.get_action", "env.send_inline", - "env.send_context_free_inline", - "env.get_context_free_data", "env.memcpy", "env.memmove", "env.memcmp", diff --git a/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/sys-vm-oc.hpp b/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/sys-vm-oc.hpp index 172aa979ee..92ec008c21 100644 --- a/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/sys-vm-oc.hpp +++ b/libraries/chain/include/sysio/chain/webassembly/sys-vm-oc/sys-vm-oc.hpp @@ -47,7 +47,7 @@ enum sysvmoc_exitcode : int { /// Version stamped into each cached code_descriptor; entries carrying a different version are recompiled. /// Bump together with code_cache.cpp's header_id whenever generated code would change for the same WASM: /// intrinsic-table renumbering, gs-region layout changes, or codegen logic changes. -static constexpr uint8_t current_codegen_version = 1; +static constexpr uint8_t current_codegen_version = 2; } diff --git a/libraries/chain/trace.cpp b/libraries/chain/trace.cpp index 6eff2de60d..17407e13c4 100644 --- a/libraries/chain/trace.cpp +++ b/libraries/chain/trace.cpp @@ -3,7 +3,7 @@ namespace sysio { namespace chain { action_trace::action_trace( - const transaction_trace& trace, const action& act, account_name receiver, bool context_free, + const transaction_trace& trace, const action& act, account_name receiver, uint32_t action_ordinal, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ) :action_ordinal( action_ordinal ) @@ -11,7 +11,6 @@ action_trace::action_trace( ,closest_unnotified_ancestor_action_ordinal( closest_unnotified_ancestor_action_ordinal ) ,receiver( receiver ) ,act( act ) -,context_free( context_free ) ,trx_id( trace.id ) ,block_num( trace.block_num ) ,block_time( trace.block_time ) @@ -19,7 +18,7 @@ action_trace::action_trace( {} action_trace::action_trace( - const transaction_trace& trace, action&& act, account_name receiver, bool context_free, + const transaction_trace& trace, action&& act, account_name receiver, uint32_t action_ordinal, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ) :action_ordinal( action_ordinal ) @@ -27,7 +26,6 @@ action_trace::action_trace( ,closest_unnotified_ancestor_action_ordinal( closest_unnotified_ancestor_action_ordinal ) ,receiver( receiver ) ,act( std::move(act) ) -,context_free( context_free ) ,trx_id( trace.id ) ,block_num( trace.block_num ) ,block_time( trace.block_time ) diff --git a/libraries/chain/transaction.cpp b/libraries/chain/transaction.cpp index f7451c6fb6..bd589042f8 100644 --- a/libraries/chain/transaction.cpp +++ b/libraries/chain/transaction.cpp @@ -170,20 +170,12 @@ signed_transaction::get_signature_keys( const chain_id_type& chain_id, fc::time_ } uint32_t packed_transaction::get_action_billable_size(size_t action_index)const { - assert(action_index < unpacked_trx.total_actions()); + // transaction_context bills only transactions it accepted, and it rejects any with context-free actions + assert(unpacked_trx.context_free_actions.empty()); + assert(action_index < unpacked_trx.actions.size()); assert(billable_net_per_action_overhead > 0); - uint32_t size = billable_net_per_action_overhead; - if (action_index < unpacked_trx.context_free_actions.size()) { - // init() enforces: context_free_data is empty or its size equals context_free_actions.size() - if (unpacked_trx.context_free_data.size() > action_index) { - size += unpacked_trx.context_free_data[action_index].size(); - } - size += unpacked_trx.context_free_actions[action_index].get_billable_size(); - } else { - size += unpacked_trx.actions[action_index - unpacked_trx.context_free_actions.size()].get_billable_size(); - } - return size; + return billable_net_per_action_overhead + unpacked_trx.actions[action_index].get_billable_size(); } size_t packed_transaction::get_estimated_size()const { diff --git a/libraries/chain/transaction_context.cpp b/libraries/chain/transaction_context.cpp index 24ffbb9906..efb71c0a50 100644 --- a/libraries/chain/transaction_context.cpp +++ b/libraries/chain/transaction_context.cpp @@ -200,10 +200,10 @@ namespace sysio::chain { validate_trx_billed_cpu(); } - std::array all_actions = {std::views::all(trx.context_free_actions), std::views::all(trx.actions)}; - assert(std::ranges::distance(std::views::join(all_actions)) == trx.total_actions()); + // init_for_input_trx rejects context-free actions, so every billed action is a regular one. + assert(trx.context_free_actions.empty()); size_t action_index = 0; - for (const auto& act : std::views::join(all_actions)) { + for (const auto& act : trx.actions) { // For each action, add either the explicit payer (if present) or the contract (if no payer) account_name a = act.payer(); auto& b = accounts_billing[a]; @@ -294,12 +294,16 @@ namespace sysio::chain { void transaction_context::init_for_input_trx() { const transaction& trx = packed_trx.get_transaction(); - // delayed, compressed, and extension-bearing transactions are not supported by wire + // delayed, compressed, extension-bearing and context-free transactions are not supported by wire SYS_ASSERT( trx.delay_sec.value == 0, transaction_exception, "transaction cannot be delayed" ); SYS_ASSERT( packed_trx.get_compression() == packed_transaction::compression_type::none, tx_compression_not_allowed, "packed transaction cannot be compressed"); SYS_ASSERT( trx.transaction_extensions.empty(), invalid_transaction_extension, "transaction extensions are not currently supported" ); + // packed_transaction::init() requires one context-free data entry per context-free action, so this leaves the + // transaction no context-free data either. + SYS_ASSERT( trx.context_free_actions.empty(), transaction_exception, + "context-free actions are not supported" ); is_input = true; if (!control.skip_trx_checks()) { @@ -339,20 +343,14 @@ namespace sysio::chain { trace->action_traces[idx].net_usage = packed_trx.get_action_billable_size(idx); }; - trace->action_traces.reserve(trx.context_free_actions.size() + trx.actions.size()); + trace->action_traces.reserve(trx.actions.size()); for (int oc_retry = 0; oc_retry < 2; ++oc_retry) { // interrupt_oc_exception can only happen once try { size_t idx = 0; - for (const auto& act : trx.context_free_actions) { - schedule_action(act, act.account, true, 0, 0); - add_trace_net(idx); - ++idx; - } - for (const auto& act : trx.actions) { - schedule_action(act, act.account, false, 0, 0); + schedule_action(act, act.account, 0, 0); add_trace_net(idx); ++idx; } @@ -895,33 +893,33 @@ namespace sysio::chain { return trace->action_traces[action_ordinal-1]; } - uint32_t transaction_context::schedule_action( const action& act, account_name receiver, bool context_free, + uint32_t transaction_context::schedule_action( const action& act, account_name receiver, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ) { uint32_t new_action_ordinal = trace->action_traces.size() + 1; - trace->action_traces.emplace_back( *trace, act, receiver, context_free, + trace->action_traces.emplace_back( *trace, act, receiver, new_action_ordinal, creator_action_ordinal, closest_unnotified_ancestor_action_ordinal ); return new_action_ordinal; } - uint32_t transaction_context::schedule_action( action&& act, account_name receiver, bool context_free, + uint32_t transaction_context::schedule_action( action&& act, account_name receiver, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ) { uint32_t new_action_ordinal = trace->action_traces.size() + 1; - trace->action_traces.emplace_back( *trace, std::move(act), receiver, context_free, + trace->action_traces.emplace_back( *trace, std::move(act), receiver, new_action_ordinal, creator_action_ordinal, closest_unnotified_ancestor_action_ordinal ); return new_action_ordinal; } - uint32_t transaction_context::schedule_action( uint32_t action_ordinal, account_name receiver, bool context_free, + uint32_t transaction_context::schedule_action( uint32_t action_ordinal, account_name receiver, uint32_t creator_action_ordinal, uint32_t closest_unnotified_ancestor_action_ordinal ) { @@ -934,7 +932,7 @@ namespace sysio::chain { // The reserve above is required so that the emplace_back below does not invalidate the provided_action reference, // which references an action within the `trace->action_traces` vector we are appending to. - trace->action_traces.emplace_back( *trace, provided_action, receiver, context_free, + trace->action_traces.emplace_back( *trace, provided_action, receiver, new_action_ordinal, creator_action_ordinal, closest_unnotified_ancestor_action_ordinal ); @@ -961,37 +959,6 @@ namespace sysio::chain { const auto& db = control.db(); const auto& auth_manager = control.get_authorization_manager(); - if( !trx.context_free_actions.empty() && !control.skip_trx_checks() ) { - for( const auto& a : trx.context_free_actions ) { - auto* code = db.find( a.account ); - SYS_ASSERT( code != nullptr, transaction_exception, - "action's code account '{}' does not exist", a.account ); - auto verify_auth = [&]() -> bool { - if (a.authorization.size() == 0) - return true; - // context_free_action authorization only allowed to be sysio_payer_name for an authorized explicit payer - // of a regular action. - if (a.authorization.size() == 1) { - if (a.authorization[0].permission == config::sysio_payer_name) { - bool found = std::ranges::any_of(trx.actions, - [&](const auto& act) { - return std::ranges::any_of(act.authorization, - [&](const auto& auth) { - return auth.permission == config::sysio_payer_name && - auth.actor == a.authorization[0].actor; - }); - }); - if (found) - return true; - } - } - return false; - }; - SYS_ASSERT( verify_auth(), transaction_exception, - "context-free actions can only have a valid explicit payer authorization" ); - } - } - flat_set actors; bool one_auth = false; diff --git a/libraries/chain/webassembly/context_free.cpp b/libraries/chain/webassembly/context_free.cpp deleted file mode 100644 index 2cc135da35..0000000000 --- a/libraries/chain/webassembly/context_free.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -namespace sysio { namespace chain { namespace webassembly { - int32_t interface::get_context_free_data( uint32_t index, span buffer) const { - return context.get_context_free_data( index, buffer.data(), buffer.size() ); - } -}}} // ns sysio::chain::webassembly diff --git a/libraries/chain/webassembly/permission.cpp b/libraries/chain/webassembly/permission.cpp index 2726998d43..ed8635b10f 100644 --- a/libraries/chain/webassembly/permission.cpp +++ b/libraries/chain/webassembly/permission.cpp @@ -33,6 +33,8 @@ namespace sysio { namespace chain { namespace webassembly { assert_all_unpacked( ds, "check_transaction_authorization" ); SYS_ASSERT( trx.transaction_extensions.empty(), invalid_transaction_extension, "transaction extensions are not currently supported" ); + SYS_ASSERT( trx.context_free_actions.empty(), transaction_exception, + "context-free actions are not supported" ); flat_set provided_keys; unpack_provided_keys( provided_keys, pubkeys_data.data(), pubkeys_data.size() ); diff --git a/libraries/chain/webassembly/runtimes/sys-vm-oc/code_cache.cpp b/libraries/chain/webassembly/runtimes/sys-vm-oc/code_cache.cpp index 058f93fd4a..1b7638a158 100644 --- a/libraries/chain/webassembly/runtimes/sys-vm-oc/code_cache.cpp +++ b/libraries/chain/webassembly/runtimes/sys-vm-oc/code_cache.cpp @@ -22,7 +22,7 @@ static constexpr size_t total_header_size = header_offset + header_size; // renumbered: OC bakes ordinal-derived dispatch offsets into the generated machine code, so a cache produced // under any other intrinsic table must be discarded even though its file format is otherwise readable. // Bump this (together with current_codegen_version) on ANY change to intrinsic ordinals or gs-region layout. -static constexpr uint64_t header_id = 0x31434f4d56535953ULL; //"SYSVMOC1" little endian +static constexpr uint64_t header_id = 0x32434f4d56535953ULL; //"SYSVMOC2" little endian struct code_cache_header { uint64_t id = header_id; diff --git a/libraries/chain/webassembly/runtimes/sys-vm.cpp b/libraries/chain/webassembly/runtimes/sys-vm.cpp index 93c1812e4d..1841427719 100644 --- a/libraries/chain/webassembly/runtimes/sys-vm.cpp +++ b/libraries/chain/webassembly/runtimes/sys-vm.cpp @@ -320,42 +320,19 @@ struct host_function_registrator { inline static auto NAME##_registrator = NAME##_registrator_impl(); #define REGISTER_HOST_FUNCTION(NAME, ...) \ - static host_function_registrator<&interface::NAME, core_precondition, context_aware_check, ##__VA_ARGS__> \ + static host_function_registrator<&interface::NAME, core_precondition, ##__VA_ARGS__> \ NAME##_registrator_impl() { \ return {BOOST_HANA_STRING("env"), BOOST_HANA_STRING(#NAME)}; \ } \ inline static auto NAME##_registrator = NAME##_registrator_impl(); -#define REGISTER_CF_HOST_FUNCTION(NAME, ...) \ - static host_function_registrator<&interface::NAME, core_precondition, ##__VA_ARGS__> NAME##_registrator_impl() { \ - return {BOOST_HANA_STRING("env"), BOOST_HANA_STRING(#NAME)}; \ - } \ - inline static auto NAME##_registrator = NAME##_registrator_impl(); - #define REGISTER_ALIGNED_HOST_FUNCTION(NAME, ...) \ - static host_function_registrator<&interface::NAME, aligned_static_check_wl_args, context_aware_check, ##__VA_ARGS__> \ - NAME##_registrator_impl() { \ - return {BOOST_HANA_STRING("env"), BOOST_HANA_STRING(#NAME)}; \ - } \ - inline static auto NAME##_registrator = NAME##_registrator_impl(); - -#define REGISTER_ALIGNED_CF_HOST_FUNCTION(NAME, ...) \ static host_function_registrator<&interface::NAME, aligned_static_check_wl_args, ##__VA_ARGS__> \ NAME##_registrator_impl() { \ return {BOOST_HANA_STRING("env"), BOOST_HANA_STRING(#NAME)}; \ } \ inline static auto NAME##_registrator = NAME##_registrator_impl(); -#define REGISTER_ALIGNED_CF_ONLY_HOST_FUNCTION(NAME, ...) \ - static host_function_registrator<&interface::NAME, aligned_static_check_wl_args, context_free_check, ##__VA_ARGS__> \ - NAME##_registrator_impl() { \ - return {BOOST_HANA_STRING("env"), BOOST_HANA_STRING(#NAME)}; \ - } \ - inline static auto NAME##_registrator = NAME##_registrator_impl(); - -// context free api -REGISTER_ALIGNED_CF_ONLY_HOST_FUNCTION(get_context_free_data) - // privileged api REGISTER_ALIGNED_HOST_FUNCTION(preactivate_feature, privileged_check); REGISTER_HOST_FUNCTION(set_resource_limits, privileged_check); @@ -436,17 +413,17 @@ REGISTER_INJECTED_HOST_FUNCTION(_sysio_ui64_to_f64); REGISTER_HOST_FUNCTION(get_active_producers); // crypto api -REGISTER_CF_HOST_FUNCTION(ed25519_verify); -REGISTER_ALIGNED_CF_HOST_FUNCTION(assert_recover_key); -REGISTER_ALIGNED_CF_HOST_FUNCTION(recover_key); -REGISTER_ALIGNED_CF_HOST_FUNCTION(assert_sha256); -REGISTER_ALIGNED_CF_HOST_FUNCTION(assert_sha1); -REGISTER_ALIGNED_CF_HOST_FUNCTION(assert_sha512); -REGISTER_ALIGNED_CF_HOST_FUNCTION(assert_ripemd160); -REGISTER_ALIGNED_CF_HOST_FUNCTION(sha256); -REGISTER_ALIGNED_CF_HOST_FUNCTION(sha1); -REGISTER_ALIGNED_CF_HOST_FUNCTION(sha512); -REGISTER_ALIGNED_CF_HOST_FUNCTION(ripemd160); +REGISTER_HOST_FUNCTION(ed25519_verify); +REGISTER_ALIGNED_HOST_FUNCTION(assert_recover_key); +REGISTER_ALIGNED_HOST_FUNCTION(recover_key); +REGISTER_ALIGNED_HOST_FUNCTION(assert_sha256); +REGISTER_ALIGNED_HOST_FUNCTION(assert_sha1); +REGISTER_ALIGNED_HOST_FUNCTION(assert_sha512); +REGISTER_ALIGNED_HOST_FUNCTION(assert_ripemd160); +REGISTER_ALIGNED_HOST_FUNCTION(sha256); +REGISTER_ALIGNED_HOST_FUNCTION(sha1); +REGISTER_ALIGNED_HOST_FUNCTION(sha512); +REGISTER_ALIGNED_HOST_FUNCTION(ripemd160); // permission api REGISTER_ALIGNED_HOST_FUNCTION(check_transaction_authorization); @@ -468,31 +445,31 @@ REGISTER_ALIGNED_HOST_FUNCTION(is_feature_activated); REGISTER_HOST_FUNCTION(get_sender); REGISTER_HOST_FUNCTION(get_ram_usage); -// context-free system api -REGISTER_CF_HOST_FUNCTION(abort) -REGISTER_ALIGNED_CF_HOST_FUNCTION(sysio_assert) -REGISTER_ALIGNED_CF_HOST_FUNCTION(sysio_assert_message) -REGISTER_CF_HOST_FUNCTION(sysio_assert_code) -REGISTER_CF_HOST_FUNCTION(sysio_exit) +// system api +REGISTER_HOST_FUNCTION(abort) +REGISTER_ALIGNED_HOST_FUNCTION(sysio_assert) +REGISTER_ALIGNED_HOST_FUNCTION(sysio_assert_message) +REGISTER_HOST_FUNCTION(sysio_assert_code) +REGISTER_HOST_FUNCTION(sysio_exit) // action api -REGISTER_ALIGNED_CF_HOST_FUNCTION(read_action_data); -REGISTER_CF_HOST_FUNCTION(action_data_size); -REGISTER_CF_HOST_FUNCTION(current_receiver); +REGISTER_ALIGNED_HOST_FUNCTION(read_action_data); +REGISTER_HOST_FUNCTION(action_data_size); +REGISTER_HOST_FUNCTION(current_receiver); REGISTER_HOST_FUNCTION(set_action_return_value); // console api -REGISTER_ALIGNED_CF_HOST_FUNCTION(prints); -REGISTER_ALIGNED_CF_HOST_FUNCTION(prints_l); -REGISTER_CF_HOST_FUNCTION(printi); -REGISTER_CF_HOST_FUNCTION(printui); -REGISTER_ALIGNED_CF_HOST_FUNCTION(printi128); -REGISTER_ALIGNED_CF_HOST_FUNCTION(printui128); -REGISTER_CF_HOST_FUNCTION(printsf); -REGISTER_CF_HOST_FUNCTION(printdf); -REGISTER_ALIGNED_CF_HOST_FUNCTION(printqf); -REGISTER_CF_HOST_FUNCTION(printn); -REGISTER_ALIGNED_CF_HOST_FUNCTION(printhex); +REGISTER_ALIGNED_HOST_FUNCTION(prints); +REGISTER_ALIGNED_HOST_FUNCTION(prints_l); +REGISTER_HOST_FUNCTION(printi); +REGISTER_HOST_FUNCTION(printui); +REGISTER_ALIGNED_HOST_FUNCTION(printi128); +REGISTER_ALIGNED_HOST_FUNCTION(printui128); +REGISTER_HOST_FUNCTION(printsf); +REGISTER_HOST_FUNCTION(printdf); +REGISTER_ALIGNED_HOST_FUNCTION(printqf); +REGISTER_HOST_FUNCTION(printn); +REGISTER_ALIGNED_HOST_FUNCTION(printhex); // kv database api REGISTER_ALIGNED_HOST_FUNCTION(kv_set); @@ -516,47 +493,46 @@ REGISTER_HOST_FUNCTION(kv_idx_destroy); REGISTER_ALIGNED_HOST_FUNCTION(kv_idx_find); // memory api -REGISTER_ALIGNED_CF_HOST_FUNCTION(memcpy); -REGISTER_ALIGNED_CF_HOST_FUNCTION(memmove); -REGISTER_ALIGNED_CF_HOST_FUNCTION(memcmp); -REGISTER_ALIGNED_CF_HOST_FUNCTION(memset); +REGISTER_ALIGNED_HOST_FUNCTION(memcpy); +REGISTER_ALIGNED_HOST_FUNCTION(memmove); +REGISTER_ALIGNED_HOST_FUNCTION(memcmp); +REGISTER_ALIGNED_HOST_FUNCTION(memset); // transaction api REGISTER_ALIGNED_HOST_FUNCTION(send_inline); -REGISTER_ALIGNED_HOST_FUNCTION(send_context_free_inline); -// context-free transaction api -REGISTER_ALIGNED_CF_HOST_FUNCTION(read_transaction); -REGISTER_CF_HOST_FUNCTION(transaction_size); -REGISTER_CF_HOST_FUNCTION(expiration); -REGISTER_CF_HOST_FUNCTION(tapos_block_num); -REGISTER_CF_HOST_FUNCTION(tapos_block_prefix); -REGISTER_ALIGNED_CF_HOST_FUNCTION(get_action); +// transaction api +REGISTER_ALIGNED_HOST_FUNCTION(read_transaction); +REGISTER_HOST_FUNCTION(transaction_size); +REGISTER_HOST_FUNCTION(expiration); +REGISTER_HOST_FUNCTION(tapos_block_num); +REGISTER_HOST_FUNCTION(tapos_block_prefix); +REGISTER_ALIGNED_HOST_FUNCTION(get_action); // get_block_num -REGISTER_CF_HOST_FUNCTION( get_block_num ); +REGISTER_HOST_FUNCTION( get_block_num ); // crypto_primitives -REGISTER_CF_HOST_FUNCTION( alt_bn128_add ); -REGISTER_CF_HOST_FUNCTION( alt_bn128_mul ); -REGISTER_CF_HOST_FUNCTION( alt_bn128_pair ); -REGISTER_CF_HOST_FUNCTION( mod_exp ); -REGISTER_CF_HOST_FUNCTION( blake2_f ); -REGISTER_CF_HOST_FUNCTION( sha3 ); -REGISTER_CF_HOST_FUNCTION( k1_recover ); -REGISTER_CF_HOST_FUNCTION( blake2b_256 ); +REGISTER_HOST_FUNCTION( alt_bn128_add ); +REGISTER_HOST_FUNCTION( alt_bn128_mul ); +REGISTER_HOST_FUNCTION( alt_bn128_pair ); +REGISTER_HOST_FUNCTION( mod_exp ); +REGISTER_HOST_FUNCTION( blake2_f ); +REGISTER_HOST_FUNCTION( sha3 ); +REGISTER_HOST_FUNCTION( k1_recover ); +REGISTER_HOST_FUNCTION( blake2b_256 ); // bls_primitives -REGISTER_CF_HOST_FUNCTION( bls_g1_add ); -REGISTER_CF_HOST_FUNCTION( bls_g2_add ); -REGISTER_CF_HOST_FUNCTION( bls_g1_weighted_sum ); -REGISTER_CF_HOST_FUNCTION( bls_g2_weighted_sum ); -REGISTER_CF_HOST_FUNCTION( bls_pairing ); -REGISTER_CF_HOST_FUNCTION( bls_g1_map ); -REGISTER_CF_HOST_FUNCTION( bls_g2_map ); -REGISTER_CF_HOST_FUNCTION( bls_fp_mod ); -REGISTER_CF_HOST_FUNCTION( bls_fp_mul ); -REGISTER_CF_HOST_FUNCTION( bls_fp_exp ); +REGISTER_HOST_FUNCTION( bls_g1_add ); +REGISTER_HOST_FUNCTION( bls_g2_add ); +REGISTER_HOST_FUNCTION( bls_g1_weighted_sum ); +REGISTER_HOST_FUNCTION( bls_g2_weighted_sum ); +REGISTER_HOST_FUNCTION( bls_pairing ); +REGISTER_HOST_FUNCTION( bls_g1_map ); +REGISTER_HOST_FUNCTION( bls_g2_map ); +REGISTER_HOST_FUNCTION( bls_fp_mod ); +REGISTER_HOST_FUNCTION( bls_fp_mul ); +REGISTER_HOST_FUNCTION( bls_fp_exp ); } // namespace webassembly } // namespace chain diff --git a/libraries/chain/webassembly/transaction.cpp b/libraries/chain/webassembly/transaction.cpp index 9f002da26d..c6cc3fd2c9 100644 --- a/libraries/chain/webassembly/transaction.cpp +++ b/libraries/chain/webassembly/transaction.cpp @@ -3,7 +3,7 @@ #include namespace sysio { namespace chain { namespace webassembly { - /// Unpacks the action a contract passed to send_inline or send_context_free_inline. + /// Unpacks the action a contract passed to send_inline. static action unpack_inline_action( span data, const char* intrinsic ) { action act; fc::datastream ds( data.data(), data.size() ); @@ -20,12 +20,4 @@ namespace sysio { namespace chain { namespace webassembly { context.execute_inline(unpack_inline_action(data, "send_inline")); } - void interface::send_context_free_inline( span data ) { - //TODO: Why is this limit even needed? And why is it not consistently checked on actions in input or deferred transactions - SYS_ASSERT( data.size() < context.control.get_global_properties().configuration.max_inline_action_size, inline_action_too_big, - "inline action too big" ); - - context.execute_context_free_inline(unpack_inline_action(data, "send_context_free_inline")); - } - }}} // ns sysio::chain::webassembly diff --git a/libraries/state_history/abi.cpp b/libraries/state_history/abi.cpp index 25b9d58246..259b2f0a70 100644 --- a/libraries/state_history/abi.cpp +++ b/libraries/state_history/abi.cpp @@ -143,7 +143,6 @@ extern const char* const state_history_plugin_abi = R"({ { "name": "receipt", "type": "action_receipt?" }, { "name": "receiver", "type": "name" }, { "name": "act", "type": "action" }, - { "name": "context_free", "type": "bool" }, { "name": "elapsed", "type": "int64" }, { "name": "console", "type": "string" }, { "name": "account_ram_deltas", "type": "account_delta[]" }, @@ -158,7 +157,6 @@ extern const char* const state_history_plugin_abi = R"({ { "name": "receipt", "type": "action_receipt?" }, { "name": "receiver", "type": "name" }, { "name": "act", "type": "action" }, - { "name": "context_free", "type": "bool" }, { "name": "elapsed", "type": "int64" }, { "name": "console", "type": "string" }, { "name": "account_ram_deltas", "type": "account_delta[]" }, @@ -365,8 +363,6 @@ extern const char* const state_history_plugin_abi = R"({ { "type": "uint32", "name": "target_block_net_usage_pct" }, { "type": "uint32", "name": "max_transaction_net_usage" }, { "type": "uint32", "name": "net_usage_leeway" }, - { "type": "uint32", "name": "context_free_discount_net_usage_num" }, - { "type": "uint32", "name": "context_free_discount_net_usage_den" }, { "type": "uint32", "name": "max_block_cpu_usage" }, { "type": "uint32", "name": "target_block_cpu_usage_pct" }, { "type": "uint32", "name": "max_transaction_cpu_usage" }, diff --git a/libraries/state_history/include/sysio/state_history/serialization.hpp b/libraries/state_history/include/sysio/state_history/serialization.hpp index 505957d370..e3af739de9 100644 --- a/libraries/state_history/include/sysio/state_history/serialization.hpp +++ b/libraries/state_history/include/sysio/state_history/serialization.hpp @@ -292,8 +292,6 @@ datastream& operator<<(datastream& ds, const history_serial_wrapper_stat fc::raw::pack(ds, as_type(obj.obj.target_block_net_usage_pct)); fc::raw::pack(ds, as_type(obj.obj.max_transaction_net_usage)); fc::raw::pack(ds, as_type(obj.obj.net_usage_leeway)); - fc::raw::pack(ds, as_type(obj.obj.context_free_discount_net_usage_num)); - fc::raw::pack(ds, as_type(obj.obj.context_free_discount_net_usage_den)); fc::raw::pack(ds, as_type(obj.obj.max_block_cpu_usage)); fc::raw::pack(ds, as_type(obj.obj.target_block_cpu_usage_pct)); fc::raw::pack(ds, as_type(obj.obj.max_transaction_cpu_usage)); @@ -551,7 +549,6 @@ datastream& operator<<(datastream& ds, const history_context_wrapper_sta } fc::raw::pack(ds, as_type(obj.obj.receiver.to_uint64_t())); fc::raw::pack(ds, make_history_serial_wrapper(as_type(obj.obj.act))); - fc::raw::pack(ds, as_type(obj.obj.context_free)); fc::raw::pack(ds, as_type(debug_mode ? obj.obj.elapsed.count() : 0)); if (debug_mode) fc::raw::pack(ds, as_type(obj.obj.console)); diff --git a/libraries/testing/native_intrinsic_exports.cpp b/libraries/testing/native_intrinsic_exports.cpp index 8c7c74cc9d..880f2cce48 100644 --- a/libraries/testing/native_intrinsic_exports.cpp +++ b/libraries/testing/native_intrinsic_exports.cpp @@ -383,11 +383,6 @@ void send_inline(char* serialized_action, size_t size) { native_context_stack::current()->send_inline(aligned_span{(void*)serialized_action, (uint32_t)size}); } -INTRINSIC_EXPORT -void send_context_free_inline(char* serialized_action, size_t size) { - native_context_stack::current()->send_context_free_inline(aligned_span{(void*)serialized_action, (uint32_t)size}); -} - INTRINSIC_EXPORT int32_t read_transaction(char* buffer, size_t buffer_size) { return native_context_stack::current()->read_transaction(aligned_span{(void*)buffer, (uint32_t)buffer_size}); @@ -419,12 +414,6 @@ int32_t get_action(uint32_t type, uint32_t index, char* buffer, size_t buffer_si aligned_span{(void*)buffer, (uint32_t)buffer_size}); } -INTRINSIC_EXPORT -int32_t get_context_free_data(uint32_t index, char* buffer, size_t buffer_size) { - return native_context_stack::current()->get_context_free_data(index, - aligned_span{(void*)buffer, (uint32_t)buffer_size}); -} - // ============================================================================ // Privileged // ============================================================================ diff --git a/plugins/trace_api_plugin/include/sysio/trace_api/chain_extraction.hpp b/plugins/trace_api_plugin/include/sysio/trace_api/chain_extraction.hpp index 8974438926..a6465f2ef6 100644 --- a/plugins/trace_api_plugin/include/sysio/trace_api/chain_extraction.hpp +++ b/plugins/trace_api_plugin/include/sysio/trace_api/chain_extraction.hpp @@ -117,7 +117,7 @@ class chain_extraction_impl_type { std::vector ops; std::unordered_set lazy_collected_this_trx; for (const auto& at : trace.action_traces) { - if (!at.receipt) continue; // skip context-free or failed actions + if (!at.receipt) continue; // skip failed actions const chain::name account = at.act.account; diff --git a/plugins/trace_api_plugin/include/sysio/trace_api/extract_util.hpp b/plugins/trace_api_plugin/include/sysio/trace_api/extract_util.hpp index d44596296d..2c64201737 100644 --- a/plugins/trace_api_plugin/include/sysio/trace_api/extract_util.hpp +++ b/plugins/trace_api_plugin/include/sysio/trace_api/extract_util.hpp @@ -49,7 +49,6 @@ inline transaction_trace_v0 to_transaction_trace( const cache_trace& t ) { r.actions.reserve( t.trace->action_traces.size()); for( const auto& at : t.trace->action_traces ) { - if( at.context_free ) continue; // skip context-free actions if( at.except ) continue; // skip failed actions r.actions.emplace_back( to_action_trace(at) ); } diff --git a/tests/PerformanceHarness/genesis.json b/tests/PerformanceHarness/genesis.json index 580e659d29..bc0fe361c9 100644 --- a/tests/PerformanceHarness/genesis.json +++ b/tests/PerformanceHarness/genesis.json @@ -7,8 +7,6 @@ "target_block_net_usage_pct": 1000, "max_transaction_net_usage": 524288, "net_usage_leeway": 500, - "context_free_discount_net_usage_num": 20, - "context_free_discount_net_usage_den": 100, "max_block_cpu_usage": 500000, "target_block_cpu_usage_pct": 500, "max_transaction_cpu_usage": 475000, diff --git a/tests/TestHarness/launcher.py b/tests/TestHarness/launcher.py index 8accdb1ea5..4dac198229 100644 --- a/tests/TestHarness/launcher.py +++ b/tests/TestHarness/launcher.py @@ -375,8 +375,6 @@ def init_genesis(self): 'target_block_net_usage_pct': 10000, 'max_transaction_net_usage': 524288, 'net_usage_leeway': 500, - 'context_free_discount_net_usage_num': 0, - 'context_free_discount_net_usage_den': 1, 'max_block_cpu_usage': 200000 if self.args.max_block_cpu_usage is None else self.args.max_block_cpu_usage, 'target_block_cpu_usage_pct': 10, 'max_transaction_cpu_usage': 150000 if self.args.max_transaction_cpu_usage is None else self.args.max_transaction_cpu_usage, diff --git a/tests/chain_plugin_tests.cpp b/tests/chain_plugin_tests.cpp index 5cf2888ac1..2664861b7e 100644 --- a/tests/chain_plugin_tests.cpp +++ b/tests/chain_plugin_tests.cpp @@ -149,8 +149,6 @@ BOOST_AUTO_TEST_CASE( get_consensus_parameters ) try { BOOST_TEST(v0config.target_block_net_usage_pct == t.control->get_global_properties().configuration.target_block_net_usage_pct); BOOST_TEST(v0config.max_transaction_net_usage == t.control->get_global_properties().configuration.max_transaction_net_usage); BOOST_TEST(v0config.net_usage_leeway == t.control->get_global_properties().configuration.net_usage_leeway); - BOOST_TEST(v0config.context_free_discount_net_usage_num == t.control->get_global_properties().configuration.context_free_discount_net_usage_num); - BOOST_TEST(v0config.context_free_discount_net_usage_den == t.control->get_global_properties().configuration.context_free_discount_net_usage_den); BOOST_TEST(v0config.max_block_cpu_usage == t.control->get_global_properties().configuration.max_block_cpu_usage); BOOST_TEST(v0config.target_block_cpu_usage_pct == t.control->get_global_properties().configuration.target_block_cpu_usage_pct); BOOST_TEST(v0config.max_transaction_cpu_usage == t.control->get_global_properties().configuration.max_transaction_cpu_usage); diff --git a/tests/light_validation_sync_test.py b/tests/light_validation_sync_test.py index 357fd64792..d87bd6bc0f 100755 --- a/tests/light_validation_sync_test.py +++ b/tests/light_validation_sync_test.py @@ -11,9 +11,8 @@ # Test message sync for light validation mode. # # This test creates a producer node and a light validation node. -# Pushes a transaction with context free data to the producer -# node and check the pushed transaction can be synched to -# the validation node. +# Pushes a transaction to the producer node and check the pushed +# transaction can be synched to the validation node. # ############################################################### @@ -64,20 +63,18 @@ trx = { "actions": [{"account": "payloadless", "name": "doit", "authorization": [{ "actor": "payloadless", "permission": "active"}], "data": ""}], - "context_free_actions": [{"account": "payloadless", "name": "doit", "data": ""}], - "context_free_data": ["a1b2c3"], - } + } cmd = "push transaction '{}' -p payloadless".format(json.dumps(trx)) trans = producerNode.processClioCmd(cmd, cmd, silentErrors=False) - assert trans, "Failed to push transaction with context free data" - - cfTrxBlockNum = int(trans["processed"]["block_num"]) - cfTrxId = trans["transaction_id"] + assert trans, "Failed to push transaction" + + trxBlockNum = int(trans["processed"]["block_num"]) + trxId = trans["transaction_id"] # Wait until the block where create account is executed to become irreversible def isBlockNumIrr(): - return validationNode.getIrreversibleBlockNum() >= cfTrxBlockNum + return validationNode.getIrreversibleBlockNum() >= trxBlockNum Utils.waitForBool(isBlockNumIrr, timeout=30, sleepTime=0.1) Utils.Print("verify the account payloadless from validation node") @@ -85,10 +82,10 @@ def isBlockNumIrr(): trans = validationNode.processClioCmd(cmd, cmd, silentErrors=False) assert trans["account_name"], "Failed to get the account payloadless" - Utils.Print("verify the context free transaction from validation node") - cmd = "get transaction_trace " + cfTrxId + Utils.Print("verify the transaction from validation node") + cmd = "get transaction_trace " + trxId trans = validationNode.processClioCmd(cmd, cmd, silentErrors=False) - assert trans, "Failed to get the transaction with context free data from the light validation node" + assert trans, "Failed to get the transaction from the light validation node" testSuccessful = True finally: diff --git a/tests/sysio_util_snapshot_info_test.py b/tests/sysio_util_snapshot_info_test.py index 3a4de28f21..e74ceb6bfb 100755 --- a/tests/sysio_util_snapshot_info_test.py +++ b/tests/sysio_util_snapshot_info_test.py @@ -16,8 +16,8 @@ "file": "unittests/snapshots/snap_v1.bin.gz", "result": { "version": 1, - "chain_id": "087244f65e31c0106a58554b8f855e30ae657efb98c6c40348bb14db8bdb3f8e", - "head_block_id": "0000001d528897b7b0a6e7a5027c05ed26dcf6985590b418ba5b6d8b0c3fd8f6", + "chain_id": "47ae951a06f2f2ab68f635ab8e13a90e9fb86a84b9a7e452cb283ee64eaf10ec", + "head_block_id": "0000001d6c66eed3cf0eba51d54cb11d017b8a1ce2b3e6d5ed4a3df4ef6ce6da", "head_block_num": 29, "head_block_time": "2025-01-01T00:00:14.000" } diff --git a/tests/trx_generator/README.md b/tests/trx_generator/README.md index 4ca7fe5bec..b24dad816c 100644 --- a/tests/trx_generator/README.md +++ b/tests/trx_generator/README.md @@ -49,8 +49,8 @@ The Transaction Generator logs each transaction's id and sent timestamp at the m - `--log-dir arg` set the logs directory - `--stop-on-trx-failed arg` (=1) stop transaction generation if sending fails. -- `--noop-nonce arg` (=1) add a context-free `sysio.noop::nonce` - action to make each transaction unique. +- `--noop-nonce arg` (=1) add a `sysio.noop::nonce` action, with no + authorization, to make each transaction unique. Needs a contract on `sysio.noop`; set false for chains without one, which requires actions data with an @@ -75,7 +75,7 @@ The Transaction Generator logs each transaction's id and sent timestamp at the m Instructions and examples for running `trx_generator` to create transactions with the custom action instead of the default transfer actions. The tool uses the ABI to serialize the action and sign the transactions with the provided private keys. If you need to generate unique account names per transaction (e.g., for account creation actions), the tool supports placeholders like `ACCT_PER_TRX` in the action, which it will replace with generated names. -Each transaction normally carries a context-free `sysio.noop::nonce` action so repeated actions stay unique. Deployed +Each transaction normally carries a `sysio.noop::nonce` action, with no authorization, so repeated actions stay unique. Deployed chains keep `sysio.noop` without a contract, so a top-level action to it fails there. Against such a chain pass `--noop-nonce false` and put `ACCT_PER_TRX` in a free-form field the action's ABI defines, such as a transfer memo, to make each transaction unique. Setup refuses actions data whose placeholders leave the serialized actions unchanged: diff --git a/tests/trx_generator/main.cpp b/tests/trx_generator/main.cpp index 5f474ce84c..5ef8fc174a 100644 --- a/tests/trx_generator/main.cpp +++ b/tests/trx_generator/main.cpp @@ -59,7 +59,7 @@ int main(int argc, char** argv) { ("monitor-max-lag-duration-us", bpo::value(&max_lag_duration_us)->default_value(1000000), "Max microseconds that transaction generation can be in violation before quitting. Defaults to 1000000 (1s).") ("log-dir", bpo::value(&trx_gen_base_config._log_dir), "set the logs directory") ("stop-on-trx-failed", bpo::value(&trx_gen_base_config._stop_on_trx_failed)->default_value(true), "stop transaction generation if sending fails.") - ("noop-nonce", bpo::value(&trx_gen_base_config._noop_nonce)->default_value(true), "add a context-free sysio.noop::nonce action to make each transaction unique. Needs a contract on sysio.noop; set false for chains without one, which requires actions data with an ACCT_PER_TRX field.") + ("noop-nonce", bpo::value(&trx_gen_base_config._noop_nonce)->default_value(true), "add a sysio.noop::nonce action, with no authorization, to make each transaction unique. Needs a contract on sysio.noop; set false for chains without one, which requires actions data with an ACCT_PER_TRX field.") ("abi-file", bpo::value(&user_trx_config._abi_data_file_path), "The path to the contract abi file to use for the supplied transaction action data") ("actions-data", bpo::value(&user_trx_config._actions_data_json_file_or_str), "The json actions data file or json actions data description string to use") ("actions-auths", bpo::value(&user_trx_config._actions_auths_json_file_or_str), "The json actions auth file or json actions auths description string to use, containting authAcctName to activePrivateKey pairs.") diff --git a/tests/trx_generator/trx_generator.cpp b/tests/trx_generator/trx_generator.cpp index 3615c92c34..23a76ffb40 100644 --- a/tests/trx_generator/trx_generator.cpp +++ b/tests/trx_generator/trx_generator.cpp @@ -16,6 +16,7 @@ namespace sysio::testing { namespace chain = sysio::chain; constexpr chain::name noop_account_name = "sysio.noop"_n; + constexpr chain::name noop_nonce_action_name = "nonce"_n; void trx_generator_base::set_transaction_headers(chain::transaction& trx, const chain::block_id_type& last_irr_block_id, const fc::microseconds& expiration, uint32_t delay_sec) { trx.expiration = fc::time_point_sec{fc::time_point::now() + expiration}; @@ -38,14 +39,18 @@ namespace sysio::testing { return signed_transaction_w_signer(trx, priv_key); } + chain::bytes trx_generator_base::make_noop_nonce_data(uint64_t& nonce_prefix, uint64_t& nonce) const { + const auto nonce_data = fmt::format("{}:{}:{}:{}", _config._generator_id, nonce_prefix, ++nonce, + fc::time_point::now().time_since_epoch().count()); + return fc::raw::pack(nonce_data); + } + void trx_generator_base::add_noop_nonce_action(chain::transaction& trx, uint64_t& nonce_prefix, uint64_t& nonce) { if (!_config._noop_nonce) { return; } - const auto nonce_data = fmt::format("{}:{}:{}:{}", _config._generator_id, nonce_prefix, ++nonce, - fc::time_point::now().time_since_epoch().count()); - trx.context_free_actions.emplace_back(std::vector(), noop_account_name, - chain::name("nonce"), fc::raw::pack(nonce_data)); + trx.actions.emplace_back(std::vector(), noop_account_name, noop_nonce_action_name, + make_noop_nonce_data(nonce_prefix, nonce)); } void transfer_trx_generator::create_initial_transfer_transactions(uint64_t& nonce_prefix, uint64_t& nonce) { @@ -62,8 +67,13 @@ namespace sysio::testing { void trx_generator_base::update_resign_transaction(chain::signed_transaction& trx, const fc::crypto::private_key& priv_key, uint64_t& nonce_prefix, uint64_t& nonce, const fc::microseconds& trx_expiration, const chain::chain_id_type& chain_id, const chain::block_id_type& last_irr_block_id) { - trx.context_free_actions.clear(); - add_noop_nonce_action(trx, nonce_prefix, nonce); + if (_config._noop_nonce) { + // create_trx_w_actions_and_signer appended the nonce action last. + auto& nonce_action = trx.actions.back(); + SYS_ASSERT(nonce_action.account == noop_account_name && nonce_action.name == noop_nonce_action_name, + chain::transaction_exception, "the last action is not the sysio.noop nonce action"); + nonce_action.data = make_noop_nonce_data(nonce_prefix, nonce); + } set_transaction_headers(trx, last_irr_block_id, trx_expiration); trx.signatures.clear(); trx.sign(priv_key, chain_id); diff --git a/tests/trx_generator/trx_generator.hpp b/tests/trx_generator/trx_generator.hpp index 46d31b3669..b911d1db97 100644 --- a/tests/trx_generator/trx_generator.hpp +++ b/tests/trx_generator/trx_generator.hpp @@ -104,8 +104,8 @@ namespace sysio::testing { sysio::chain::block_id_type _last_irr_block_id = sysio::chain::block_id_type(); std::string _log_dir = "."; bool _stop_on_trx_failed = true; - /// Add a context-free `sysio.noop::nonce` action to make each transaction unique. It needs a contract on - /// `sysio.noop`, which deployed chains do not have; without it the action data must be unique per transaction. + /// Add a `sysio.noop::nonce` action, with no authorization, to make each transaction unique. It needs a contract + /// on `sysio.noop`, which deployed chains do not have; without it the action data must be unique per transaction. bool _noop_nonce = true; std::string to_string() const { @@ -190,9 +190,12 @@ namespace sysio::testing { void set_transaction_headers(sysio::chain::transaction& trx, const sysio::chain::block_id_type& last_irr_block_id, const fc::microseconds& expiration, uint32_t delay_sec = 0); - /// Appends the context-free `sysio.noop::nonce` action when `_config._noop_nonce` is set. + /// Appends the `sysio.noop::nonce` action, as the last action, when `_config._noop_nonce` is set. void add_noop_nonce_action(sysio::chain::transaction& trx, uint64_t& nonce_prefix, uint64_t& nonce); + /// The data of the next `sysio.noop::nonce` action, unique per generator, prefix and nonce. + sysio::chain::bytes make_noop_nonce_data(uint64_t& nonce_prefix, uint64_t& nonce) const; + signed_transaction_w_signer create_trx_w_actions_and_signer(std::vector&& act, const fc::crypto::private_key& priv_key, uint64_t& nonce_prefix, uint64_t& nonce, const fc::microseconds& trx_expiration, const sysio::chain::chain_id_type& chain_id, const sysio::chain::block_id_type& last_irr_block_id); diff --git a/tests/trx_generator/trx_generator_tests.cpp b/tests/trx_generator/trx_generator_tests.cpp index 9df70641ed..dd4ba75880 100644 --- a/tests/trx_generator/trx_generator_tests.cpp +++ b/tests/trx_generator/trx_generator_tests.cpp @@ -781,15 +781,21 @@ BOOST_AUTO_TEST_CASE(noop_nonce_action_is_optional) auto trx = generator.create_trx_w_actions_and_signer({make_test_signed_transaction().actions.front()}, key, nonce_prefix, nonce, tg_config._trx_expiration_us, tg_config._chain_id, tg_config._last_irr_block_id); - const size_t expected_nonce_actions = noop_nonce ? 1 : 0; - BOOST_TEST(trx._trx.context_free_actions.size() == expected_nonce_actions); + const size_t expected_actions = noop_nonce ? 2 : 1; + BOOST_TEST(trx._trx.context_free_actions.empty()); + BOOST_TEST(trx._trx.actions.size() == expected_actions); + const auto first_nonce = trx._trx.actions.back().data; generator.update_resign_transaction(trx._trx, key, nonce_prefix, nonce, tg_config._trx_expiration_us, tg_config._chain_id, tg_config._last_irr_block_id); - BOOST_TEST(trx._trx.context_free_actions.size() == expected_nonce_actions); + BOOST_TEST(trx._trx.context_free_actions.empty()); + BOOST_TEST(trx._trx.actions.size() == expected_actions); if (noop_nonce) { - BOOST_TEST(trx._trx.context_free_actions.front().account == chain::name("sysio.noop")); - BOOST_TEST(trx._trx.context_free_actions.front().name == chain::name("nonce")); + const auto& nonce_action = trx._trx.actions.back(); + BOOST_TEST(nonce_action.account == chain::name("sysio.noop")); + BOOST_TEST(nonce_action.name == chain::name("nonce")); + BOOST_TEST(nonce_action.authorization.empty()); + BOOST_TEST(nonce_action.data != first_nonce); } } } diff --git a/tutorials/bios-boot-tutorial/genesis.json b/tutorials/bios-boot-tutorial/genesis.json index 96b5aa3f2e..0e9cdd7a3a 100644 --- a/tutorials/bios-boot-tutorial/genesis.json +++ b/tutorials/bios-boot-tutorial/genesis.json @@ -7,8 +7,6 @@ "target_block_net_usage_pct": 1000, "max_transaction_net_usage": 524288, "net_usage_leeway": 500, - "context_free_discount_net_usage_num": 20, - "context_free_discount_net_usage_den": 100, "max_block_cpu_usage": 100000, "target_block_cpu_usage_pct": 500, "max_transaction_cpu_usage": 150000, diff --git a/unittests/abi_tests.cpp b/unittests/abi_tests.cpp index 514735969b..a147ed434a 100644 --- a/unittests/abi_tests.cpp +++ b/unittests/abi_tests.cpp @@ -3464,7 +3464,6 @@ inline std::pair generate_action_trace(const std::opt << "\"data\":\"09746573745f64617461\"," << "\"hex_data\":\"09746573745f64617461\"" << "}," - << "\"context_free\":false," << "\"elapsed\":3," << "\"cpu_usage_us\":3," << "\"net_usage\":5," diff --git a/unittests/action_ordering_tests.cpp b/unittests/action_ordering_tests.cpp index 04869dd00d..6972d229d5 100644 --- a/unittests/action_ordering_tests.cpp +++ b/unittests/action_ordering_tests.cpp @@ -5,23 +5,22 @@ * * What the chain guarantees (see libraries/chain/apply_context.cpp::exec): * - * Within a single apply_context, actions run in four fixed phases: + * Within a single apply_context, actions run in three fixed phases: * * phase 1: the receiver's own action body ("self" apply) * phase 2: every require_recipient() in FIFO (notification phase) - * phase 3: every send_context_free_inline() FIFO (CFA inline phase) - * phase 4: every send_inline() in FIFO (regular inline phase) + * phase 3: every send_inline() in FIFO (inline phase) * - * +--------+ +---------------+ +-------------+ +-----------------+ - * | self | -> | notifications | -> | CFA inlines | -> | regular inlines | - * | | | FIFO | | FIFO | | FIFO | - * +--------+ +---------------+ +-------------+ +-----------------+ - * phase 1 phase 2 phase 3 phase 4 + * +--------+ +---------------+ +-----------------+ + * | self | -> | notifications | -> | inlines | + * | | | FIFO | | FIFO | + * +--------+ +---------------+ +-----------------+ + * phase 1 phase 2 phase 3 * * Two distinct counters describe a trace: * * action_ordinal - SCHEDULE order. Assigned the moment a host call - * (require_recipient / send_*_inline) enqueues a new + * (require_recipient / send_inline) enqueues a new * action. action_traces is indexed by action_ordinal, * so action_traces[0..N] is in SCHEDULE order, NEVER * execution order. @@ -49,10 +48,10 @@ * when you mean execution order. Sort by receipt.global_sequence, or * walk the (creator_action_ordinal, action_ordinal) tree explicitly. * - * Six focused cases are covered here. A separate, monolithic test in + * Five focused cases are covered here. A separate, monolithic test in * api_tests.cpp (action_ordinal_test) covers the same rules across a more * elaborate fixture; the cases below complement that with clean, - * documented invariants and the CFA-inline coverage that test lacks. + * documented invariants. * * Each case is instantiated for every tester in `validating_testers` so the * trace shape produced by block production is also exercised through the @@ -82,15 +81,13 @@ BOOST_AUTO_TEST_SUITE(action_ordering_tests) namespace { /** - * @brief Common fixture: four accounts wired up for ordering tests. + * @brief Common fixture: three accounts wired up for ordering tests. * * source - originates the action; has the contract. * obs - notification recipient; has the contract so its on_notify * handler (used by Case 2) can dispatch. * inlt - inline recipient; has the contract so nested-case inlines * can run real contract logic (notifyme) on it. - * cfat - CFA-inline recipient; intentionally has NO contract. The - * CFA noop trace is still recorded; no wasm runs. * * Parameterised on the tester type so each test case can be instantiated * via BOOST_AUTO_TEST_CASE_TEMPLATE against validating_testers, picking up @@ -102,10 +99,9 @@ struct ordering_fixture { account_name source = "alice"_n; account_name obs = "bob"_n; account_name inlt = "carol"_n; - account_name cfat = "dave"_n; ordering_fixture() { - chain.create_accounts({source, obs, inlt, cfat}); + chain.create_accounts({source, obs, inlt}); chain.produce_block(); chain.set_code(source, test_contracts::action_order_test_wasm()); chain.set_abi(source, test_contracts::action_order_test_abi()); @@ -342,63 +338,4 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(nested_inline_fires_inner_notification, BOOST_CHECK_EQUAL(rows[3].gseq, rows[0].gseq + 3); } FC_LOG_AND_RETHROW() -// --------------------------------------------------------------------------- -// Case 6 (CFA): CFA inlines run BEFORE regular inlines, regardless of the -// order in which they were scheduled. -// -// Body schedules: regular_inline -> CFA_inline -> require_recipient. -// Chain runs phases in fixed order: -// self -> notifications -> CFA inlines -> regular inlines. -// -// All three non-self traces have global_sequence values that DISAGREE with -// their action_ordinal. This is the strongest divergence in the suite. -// -// Trace shape: -// [0] ord=1 gseq=g0 source self (mixedord) -// [1] ord=2 gseq=g0+3 regular noop on inlt (LAST executed) -// [2] ord=3 gseq=g0+2 CFA noop on cfat -// [3] ord=4 gseq=g0+1 notification on obs (FIRST executed after self) -// --------------------------------------------------------------------------- -BOOST_AUTO_TEST_CASE_TEMPLATE(cfa_runs_before_regular_inline, - T, validating_testers) try { - ordering_fixture f; - auto trace = f.chain.push_action(f.source, "mixedord"_n, f.source, - mvo()("obs", f.obs.to_string()) - ("inlt", f.inlt.to_string()) - ("cfat", f.cfat.to_string())); - auto rows = tabulate(trace); - BOOST_REQUIRE_EQUAL(rows.size(), 4u); - - // [0] self - BOOST_CHECK_EQUAL(rows[0].ordinal, 1u); - BOOST_CHECK_EQUAL(rows[0].receiver, f.source); - BOOST_CHECK_EQUAL(rows[0].act_name, "mixedord"_n); - - // [1] regular inline (scheduled first, executed last) - BOOST_CHECK_EQUAL(rows[1].ordinal, 2u); - BOOST_CHECK_EQUAL(rows[1].receiver, f.inlt); - BOOST_CHECK_EQUAL(rows[1].act_account, f.inlt); - BOOST_CHECK_EQUAL(rows[1].act_name, "noop"_n); - BOOST_CHECK_EQUAL(rows[1].gseq, rows[0].gseq + 3); - - // [2] CFA inline - BOOST_CHECK_EQUAL(rows[2].ordinal, 3u); - BOOST_CHECK_EQUAL(rows[2].receiver, f.cfat); - BOOST_CHECK_EQUAL(rows[2].act_account, f.cfat); - BOOST_CHECK_EQUAL(rows[2].act_name, "noop"_n); - BOOST_CHECK_EQUAL(rows[2].gseq, rows[0].gseq + 2); - - // [3] notification (scheduled last, executed first after self) - BOOST_CHECK_EQUAL(rows[3].ordinal, 4u); - BOOST_CHECK_EQUAL(rows[3].receiver, f.obs); - BOOST_CHECK_EQUAL(rows[3].act_account, f.source); - BOOST_CHECK_EQUAL(rows[3].act_name, "mixedord"_n); - BOOST_CHECK_EQUAL(rows[3].gseq, rows[0].gseq + 1); - - // Phase-order invariants as plain inequalities. - // (notification phase) < (CFA phase) < (regular inline phase). - BOOST_CHECK_LT(rows[3].gseq, rows[2].gseq); - BOOST_CHECK_LT(rows[2].gseq, rows[1].gseq); -} FC_LOG_AND_RETHROW() - BOOST_AUTO_TEST_SUITE_END() diff --git a/unittests/api_tests.cpp b/unittests/api_tests.cpp index d7feaf41dc..07ff052618 100644 --- a/unittests/api_tests.cpp +++ b/unittests/api_tests.cpp @@ -514,31 +514,9 @@ BOOST_FIXTURE_TEST_CASE(get_required_keys_explicit_payer_tests, validating_teste "Payer 'payloadless' did not authorize this action" ); } - // --- Context-free actions contribute nothing and are not screened here. Consensus passes only - // trn.actions to check_authorization, so CFAs are never authorization-checked there either; - // the sole authorization one may carry is a keyless `sysio.payer` marker that inherits an - // authorization proven on a regular action. Discovery mirrors check_authorization's rules, - // not transaction_context's -- the CFA shape rule lives only in validate_referenced_accounts - // and is deliberately left to it. --- + // --- Discovery does not walk context-free actions, matching check_authorization, which consensus calls with + // only trn.actions. A transaction that carries one is rejected when it is pushed. --- { - signed_transaction trx; - trx.context_free_actions.emplace_back( - vector{ { "payloadless"_n, config::sysio_payer_name } }, - "payloadless"_n, "doit"_n, bytes{} ); - trx.actions.emplace_back( - vector{ { "payloadless"_n, config::sysio_payer_name }, - { "payloadless"_n, config::active_name } }, - "payloadless"_n, "doit"_n, bytes{} ); - set_transaction_headers( trx ); - - // The CFA's marker adds no key; only the regular action's paired permission does. - BOOST_CHECK( required_keys( trx, all_keys ) == flat_set{ active_pub } ); - } - { - // A CFA marker naming an actor that is NOT a payer in trx.actions is rejected by - // validate_referenced_accounts, but discovery does not walk CFAs and so does not throw. - // Asserting the asymmetry keeps it deliberate: a later change that starts screening CFAs - // here should have to update this expectation rather than silently widen the function. signed_transaction trx; trx.context_free_actions.emplace_back( vector{ { "bob"_n, config::sysio_payer_name } }, @@ -549,13 +527,13 @@ BOOST_FIXTURE_TEST_CASE(get_required_keys_explicit_payer_tests, validating_teste "payloadless"_n, "doit"_n, bytes{} ); set_transaction_headers( trx ); + // The context-free action adds no key; only the regular action's paired permission does. BOOST_CHECK( required_keys( trx, keys_with_bob ) == flat_set{ active_pub } ); auto signed_trx = trx; signed_trx.sign( active_key, control->get_chain_id() ); BOOST_CHECK_EXCEPTION( push_transaction( signed_trx ), sysio::chain::transaction_exception, - fc_exception_message_is( - "context-free actions can only have a valid explicit payer authorization" ) ); + fc_exception_message_is( "context-free actions are not supported" ) ); } // A well-formed payer action alongside an unrelated one still discovers normally -- the rules @@ -755,184 +733,103 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(require_notice_tests, T, validating_testers) { try // action has no test calling it now. /************************************************************************************* - * context free action tests + * context-free action tests *************************************************************************************/ -BOOST_AUTO_TEST_CASE_TEMPLATE(cf_action_tests, T, validating_testers) { try { - T chain; - - chain.produce_block(); - chain.create_account( "testapi"_n ); - chain.create_account( "dummy"_n ); - chain.produce_block(); - chain.set_code( "testapi"_n, test_contracts::test_api_wasm() ); - chain.produce_block(); - cf_action cfa; - signed_transaction trx; - chain.set_transaction_headers(trx); - // need at least one action - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), tx_no_action, fc_exception_message_is("packed_transaction contains no actions")); - - action act({}, cfa); - trx.context_free_actions.push_back(act); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - chain.set_transaction_headers(trx); +/// A transaction carries no context-free actions, and so no context-free data. +BOOST_AUTO_TEST_CASE_TEMPLATE(context_free_actions_rejected, T, validating_testers) { try { + T chain; - // need at least one normal action - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), tx_no_action, fc_exception_message_is("packed_transaction contains no actions")); + chain.produce_block(); + chain.create_account( "testapi"_n ); + chain.create_account( "dummy"_n ); + chain.produce_block(); + chain.set_code( "testapi"_n, test_contracts::test_api_wasm() ); + chain.produce_block(); - trx.signatures.clear(); + const auto pl = vector{{"testapi"_n, config::active_name}}; + const dummy_action da = { DUMMY_ACTION_DEFAULT_A, DUMMY_ACTION_DEFAULT_B, DUMMY_ACTION_DEFAULT_C }; + const action act1(pl, da); + const action cfa_act({}, cf_action{}); - // add a normal action along with cfa - dummy_action da = { DUMMY_ACTION_DEFAULT_A, DUMMY_ACTION_DEFAULT_B, DUMMY_ACTION_DEFAULT_C }; - auto pl = vector{{"testapi"_n, config::active_name}}; - action act1(pl, da); - trx.actions.push_back(act1); - // add an extra cfa data to verify cfa data and cfa must match - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data + const auto sign_and_push = [&](signed_transaction trx) { chain.set_transaction_headers(trx); + trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); + return chain.push_transaction(trx); + }; + const auto check_cfa_rejected = [&](signed_transaction trx) { + BOOST_CHECK_EXCEPTION(sign_and_push(std::move(trx)), transaction_exception, + fc_exception_message_is("context-free actions are not supported")); + }; - auto sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), transaction_exception, - fc_exception_message_is("Context free data size 2 not equal to context free actions size 1")); - - trx.signatures.clear(); + // need at least one action, and a context-free action does not count + { + signed_transaction trx; + BOOST_CHECK_EXCEPTION(sign_and_push(trx), tx_no_action, + fc_exception_message_is("packed_transaction contains no actions")); + trx.context_free_actions.push_back(cfa_act); + trx.context_free_data.emplace_back(fc::raw::pack(100)); + BOOST_CHECK_EXCEPTION(sign_and_push(trx), tx_no_action, + fc_exception_message_is("packed_transaction contains no actions")); + } - // add a normal action along with cfa - trx.actions.clear(); - trx.context_free_data.clear(); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data + // a context-free action is rejected with or without its data + { + signed_transaction trx; trx.actions.push_back(act1); - chain.set_transaction_headers(trx); - // run normal passing case - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - auto res = chain.push_transaction(trx); - - chain.produce_block(); - - // verify context_free_actions can't have a normal authorizations - { - signed_transaction trx; - action act({pl}, cfa); - trx.context_free_actions.push_back(act); - chain.set_transaction_headers(trx); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - trx.actions.push_back(act1); - chain.set_transaction_headers(trx); - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), transaction_exception, - fc_exception_message_is("context-free actions can only have a valid explicit payer authorization")); - } - - // verify context_free_actions can have an explicit payer - { - signed_transaction trx; - auto cfa_pl = vector{{"testapi"_n, config::sysio_payer_name}}; - action act({cfa_pl}, cfa); - trx.context_free_actions.push_back(act); - chain.set_transaction_headers(trx); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - auto pl = vector{{"testapi"_n, config::sysio_payer_name},{"testapi"_n, config::active_name}}; - auto tm = test_api_action{}; - action act1(pl, tm); - trx.actions.push_back(act1); - chain.set_transaction_headers(trx); - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - chain.push_transaction(trx); - } - - chain.produce_block(); - - // verify context_free_actions can have an explicit payer, but not more than one - { - signed_transaction trx; - auto cfa_pl = vector{{"testapi"_n, config::sysio_payer_name}, {"testapi"_n, config::active_name}}; - action act({cfa_pl}, cfa); - trx.context_free_actions.push_back(act); - chain.set_transaction_headers(trx); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - auto pl = vector{{"testapi"_n, config::sysio_payer_name},{"testapi"_n, config::active_name}}; - auto tm = test_api_action{}; - action act1(pl, tm); - trx.actions.push_back(act1); - chain.set_transaction_headers(trx); - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), transaction_exception, - fc_exception_message_is("context-free actions can only have a valid explicit payer authorization")); - } - - - // add a large trx so that it is compressed - trx.signatures.clear(); - chain.set_transaction_headers(trx); - trx.context_free_actions.push_back(act); - trx.context_free_data.clear(); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - trx.context_free_data.emplace_back(fc::raw::pack>(vector(251, 1))); // 251*4 > 1000 - BOOST_TEST( fc::raw::pack_size(trx) > 1000); // so that it is compressed - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - res = chain.push_transaction(trx); - - // attempt to access context free api in non context free action - - da = { DUMMY_ACTION_DEFAULT_A, 200, DUMMY_ACTION_DEFAULT_C }; - action act2(pl, da); - trx.signatures.clear(); - trx.actions.clear(); - trx.actions.push_back(act2); - chain.set_transaction_headers(trx); - // run (dummy_action.b = 200) case looking for invalid use of context_free api - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), unaccessible_api, - [](const fc::exception& e) { - return expect_assert_message(e, "this API may only be called from context_free apply"); - } - ); - { - // back to normal action - action act1(pl, da); - signed_transaction trx; - - trx.actions.push_back(act1); - // attempt to access non context free api - for (uint32_t i = 200; i <= 211; ++i) { - trx.context_free_actions.clear(); - trx.context_free_data.clear(); - cfa.payload = i; - cfa.cfd_idx = 1; - action cfa_act({}, cfa); - trx.context_free_actions.emplace_back(cfa_act); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - trx.signatures.clear(); - chain.set_transaction_headers(trx); - sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - BOOST_CHECK_EXCEPTION(chain.push_transaction(trx), unaccessible_api, - [](const fc::exception& e) { - return expect_assert_message(e, "only context free api's can be used in this context" ); - } - ); - } + trx.context_free_actions.push_back(cfa_act); + check_cfa_rejected(trx); + trx.context_free_data.emplace_back(fc::raw::pack(100)); + check_cfa_rejected(trx); + } - } - chain.produce_block(); + // and with an authorization or an explicit payer + { + signed_transaction trx; + trx.actions.push_back(act1); + trx.context_free_actions.emplace_back(pl, cf_action{}); + check_cfa_rejected(trx); + } + { + signed_transaction trx; + trx.context_free_actions.emplace_back(vector{{"testapi"_n, config::sysio_payer_name}}, + cf_action{}); + trx.actions.emplace_back(vector{{"testapi"_n, config::sysio_payer_name}, + {"testapi"_n, config::active_name}}, + test_api_action{}); + check_cfa_rejected(trx); + } - // test send context free action - auto ttrace = CALL_TEST_FUNCTION( chain, "test_transaction", "send_cf_action", {} ); + // whatever the receiver and however large its data + { + constexpr size_t large_entry_size = 100'000; + signed_transaction trx; + trx.actions.push_back(act1); + trx.context_free_actions.emplace_back(vector{}, config::system_account_name, + "undefined"_n, bytes{}); + trx.context_free_data.emplace_back(bytes(large_entry_size, 0)); + check_cfa_rejected(trx); + } - BOOST_REQUIRE_EQUAL(ttrace->action_traces.size(), 2); - BOOST_CHECK_EQUAL((int)(ttrace->action_traces[1].creator_action_ordinal), 1); - BOOST_CHECK_EQUAL(ttrace->action_traces[1].receiver, account_name("dummy")); - BOOST_CHECK_EQUAL(ttrace->action_traces[1].act.account, account_name("dummy")); - BOOST_CHECK_EQUAL(ttrace->action_traces[1].act.name, account_name("event1")); - BOOST_CHECK_EQUAL(ttrace->action_traces[1].act.authorization.size(), 0); + // context-free data needs a context-free action of its own + { + signed_transaction trx; + trx.actions.push_back(act1); + trx.context_free_data.emplace_back(fc::raw::pack(100)); + BOOST_CHECK_EXCEPTION(sign_and_push(trx), transaction_exception, + fc_exception_message_is("Context free data size 1 not equal to context free actions size 0")); + } - BOOST_CHECK_EXCEPTION( CALL_TEST_FUNCTION( chain, "test_transaction", "send_cf_action_fail", {} ), - sysio_assert_message_exception, - sysio_assert_message_is("context free actions cannot have authorizations") ); + // the regular action alone runs + { + signed_transaction trx; + trx.actions.push_back(act1); + BOOST_REQUIRE(sign_and_push(trx)->receipt); + } + chain.produce_block(); - BOOST_REQUIRE_EQUAL( chain.validate(), true ); + BOOST_REQUIRE_EQUAL( chain.validate(), true ); } FC_LOG_AND_RETHROW() } - BOOST_AUTO_TEST_CASE_TEMPLATE(cfa_tx_signature, T, validating_testers) try { T chain; @@ -954,118 +851,6 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(cfa_tx_signature, T, validating_testers) try { BOOST_REQUIRE_EQUAL( chain.validate(), true ); } FC_LOG_AND_RETHROW() -BOOST_AUTO_TEST_CASE_TEMPLATE(cfa_stateful_api, T, validating_testers) try { - T chain; - - chain.create_account( "testapi"_n ); - chain.produce_block(); - chain.set_code( "testapi"_n, test_contracts::test_api_wasm() ); - - account_name a = "testapi2"_n; - account_name creator = config::system_account_name; - - signed_transaction trx; - - trx.actions.emplace_back( vector{{creator,config::active_name}}, - newaccount{ - .creator = creator, - .name = a, - .owner = authority( chain.get_public_key( a, "owner" ) ), - .active = authority( chain.get_public_key( a, "active" ) ) - }); - action act({}, test_api_action{}); - trx.context_free_actions.push_back(act); - trx.context_free_data.emplace_back(); - chain.set_transaction_headers(trx); - trx.sign( chain.get_private_key( creator, "active" ), chain.get_chain_id() ); - BOOST_CHECK_EXCEPTION(chain.push_transaction( trx ), fc::exception, - [&](const fc::exception &e) { - return expect_assert_message(e, "only context free api's can be used in this context"); - }); - - BOOST_REQUIRE_EQUAL( chain.validate(), true ); -} FC_LOG_AND_RETHROW() - -BOOST_AUTO_TEST_CASE(light_validation_skip_cfa) try { - tester chain(setup_policy::full); - - std::vector blocks; - blocks.push_back(chain.produce_block()); - - chain.create_account( "testapi"_n ); - chain.create_account( "dummy"_n ); - blocks.push_back(chain.produce_block()); - chain.set_code( "testapi"_n, test_contracts::test_api_wasm() ); - blocks.push_back(chain.produce_block()); - - cf_action cfa; - signed_transaction trx; - action act({}, cfa); - trx.context_free_actions.push_back(act); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - // add a normal action along with cfa - dummy_action da = { DUMMY_ACTION_DEFAULT_A, DUMMY_ACTION_DEFAULT_B, DUMMY_ACTION_DEFAULT_C }; - action act1(vector{{"testapi"_n, config::active_name}}, da); - trx.actions.push_back(act1); - chain.set_transaction_headers(trx); - // run normal passing case - auto sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); - auto trace = chain.push_transaction(trx); - blocks.push_back(chain.produce_block()); - - BOOST_REQUIRE(trace->receipt); - BOOST_CHECK_EQUAL(2, trace->action_traces.size()); - - BOOST_CHECK(trace->action_traces.at(0).context_free); // cfa - BOOST_CHECK_EQUAL("test\n", trace->action_traces.at(0).console); // cfa executed - - BOOST_CHECK(!trace->action_traces.at(1).context_free); // non-cfa - BOOST_CHECK_EQUAL("", trace->action_traces.at(1).console); - - - fc::temp_directory tempdir; - auto conf_genesis = tester::default_config( tempdir ); - - auto& cfg = conf_genesis.first; - cfg.trusted_producers = { "sysio"_n }; // light validation - - tester other( conf_genesis.first, conf_genesis.second ); - other.execute_setup_policy( setup_policy::full ); - - transaction_trace_ptr other_trace; - auto cc = other.control->applied_transaction().connect( [&](std::tuple x) { - auto& t = std::get<0>(x); - if( t && t->id == trace->id ) { - other_trace = t; - } - } ); - - for (auto& new_block : blocks) { - other.push_block(new_block); - } - blocks.clear(); - - BOOST_REQUIRE(other_trace); - BOOST_REQUIRE(other_trace->receipt); - BOOST_CHECK(*trace->receipt == *other_trace->receipt); - BOOST_CHECK_EQUAL(2, other_trace->action_traces.size()); - - auto check_action_traces = [](const auto& t, const auto& ot) { - BOOST_CHECK_EQUAL("", ot.console); // cfa not executed for light validation (trusted producer) - BOOST_CHECK_EQUAL(t.receipt->global_sequence, ot.receipt->global_sequence); - BOOST_CHECK_EQUAL(t.digest_savanna(), ot.digest_savanna()); - }; - - BOOST_CHECK(other_trace->action_traces.at(0).context_free); // cfa - check_action_traces(trace->action_traces.at(0), other_trace->action_traces.at(0)); - - BOOST_CHECK(!other_trace->action_traces.at(1).context_free); // non-cfa - check_action_traces(trace->action_traces.at(1), other_trace->action_traces.at(1)); - - other.close(); - -} FC_LOG_AND_RETHROW() - /************************************************************************************* * compiler_builtins_tests test case * diff --git a/unittests/checktime_tests.cpp b/unittests/checktime_tests.cpp index c85dc9c19c..7b258f1b3f 100644 --- a/unittests/checktime_tests.cpp +++ b/unittests/checktime_tests.cpp @@ -93,20 +93,22 @@ transaction_trace_ptr push_dummy(base_tester& t, account_name from, const string })) ("data", fc::mutable_variant_object() ("from", from) - ) - }) - ) - // lets also push a context free action - ("context_free_actions", fc::variants({ + ), + // a passing assert carries `v`, which keeps each transaction unique fc::mutable_variant_object() ("account", name("asserter")) ("name", "procassert") + ("authorization", fc::variants({ + fc::mutable_variant_object() + ("actor", from) + ("permission", name(config::active_name)) + })) ("data", fc::mutable_variant_object() ("condition", 1) ("message", "noop failed: " + v ) ) }) - ); + ); signed_transaction trx; abi_serializer::from_variant(pretty_trx, trx, t.get_resolver(), abi_serializer::create_yield_function( base_tester::abi_serializer_max_time )); diff --git a/unittests/deep-mind/deep-mind.log b/unittests/deep-mind/deep-mind.log index d8f36451ee..96b0779578 100644 --- a/unittests/deep-mind/deep-mind.log +++ b/unittests/deep-mind/deep-mind.log @@ -25,7 +25,7 @@ DMLOG START_BLOCK 2 DMLOG CREATION_OP ROOT 0 DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":1,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":1,"value_ex":579,"consumed":100},"ram_usage":3167} DMLOG TRX_OP CREATE onblock a324a2a01ec2f0793f361c09b9cd9d4b1aa7001aa4d47d86c556b19daf3d461a 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -DMLOG APPLIED_TRANSACTION 2 a324a2a01ec2f0793f361c09b9cd9d4b1aa7001aa4d47d86c556b19daf3d461a0200000001000000010000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a010164640000000000000000000000000000000001010000010000000000eab0c7145a06390f63d0b2e0596a90b05f2d57ace44ff138b0b3d35f27422fbc55c27a01000000000000000100000000000000010000000000eab0c7010000000000000000000000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001640000a324a2a01ec2f0793f361c09b9cd9d4b1aa7001aa4d47d86c556b19daf3d461a0200000001000000010000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a00000000000000 +DMLOG APPLIED_TRANSACTION 2 a324a2a01ec2f0793f361c09b9cd9d4b1aa7001aa4d47d86c556b19daf3d461a0200000001000000010000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a010164640000000000000000000000000000000001010000010000000000eab0c7145a06390f63d0b2e0596a90b05f2d57ace44ff138b0b3d35f27422fbc55c27a01000000000000000100000000000000010000000000eab0c7010000000000000000000000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001640000a324a2a01ec2f0793f361c09b9cd9d4b1aa7001aa4d47d86c556b19daf3d461a0200000001000000010000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a00000000000000 DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"average_block_cpu_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1048576,"virtual_cpu_limit":200000} DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":2,"value_ex":0,"consumed":0},"average_block_cpu_usage":{"last_ordinal":2,"value_ex":833334,"consumed":100},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1049625,"virtual_cpu_limit":200200} DMLOG ACCEPTED_BLOCK_V2 0000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a 2 1 010000000000000000eab0c700000001cbe9c4c147bc3f3434f9d82409e76d09ea58905aefe7fb5415912d9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001faadf70ca70fb6621006e91807842a8bd32a2c453a728f3d15939b00c83f279c9548c5cede521219a977bb228922e904eedb3e1cc9dc2109554961addb3e5a028000000 010000000000000001000000e11ce31b3da61363c45f5d88279c2d99d94583ee5f96a71b490f90933ce5f4e0000000000000000000000000000000000000000000000000000000000000000001000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000bce6b9402e3a3fa058881b23e110c796fecabd9bad7240843cd9c36692cc98ea0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 @@ -33,289 +33,289 @@ DMLOG START_BLOCK 3 DMLOG CREATION_OP ROOT 0 DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":2,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":2,"value_ex":1157,"consumed":101},"ram_usage":3167} DMLOG TRX_OP CREATE onblock 25f421300276271937f13f4b1121c55eabb25df362b0b09c85f850d5603aa335 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274010000000000000000eab0c700000001cbe9c4c147bc3f3434f9d82409e76d09ea58905aefe7fb5415912d9a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 3 25f421300276271937f13f4b1121c55eabb25df362b0b09c85f850d5603aa335030000000200000001000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f010164640000000000000000000000000000000001010000010000000000eab0c7ea2d9e1003d4e2079e792230ba588be16f41032b290324fa071c34c0b6fc7e5a02000000000000000200000000000000010000000000eab0c7020000000000000000000000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274010000000000000000eab0c700000001cbe9c4c147bc3f3434f9d82409e76d09ea58905aefe7fb5415912d9a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000025f421300276271937f13f4b1121c55eabb25df362b0b09c85f850d5603aa335030000000200000001000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f00000000000000 -DMLOG CREATION_OP ROOT 0 -DMLOG RAM_OP 0 sysio code add setcode sysio 420887 417720 -DMLOG KV_OP INS 0 sysio sysio 16298 c7b0ea0000000000 0000000000eab0c75924eb2afd949bfb09baa180a45d3d8ce7b797f7519888cf238c61f3cea39b7640a21bba992a060003000000 -DMLOG RAM_OP 0 sysio:16298:c7b0ea0000000000 table_row add primary_index_add sysio 421059 172 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":2,"value_ex":242587,"consumed":41919},"cpu_usage":{"last_ordinal":2,"value_ex":12732,"consumed":2101},"ram_usage":421059} -DMLOG APPLIED_TRANSACTION 3 15c60416a8d0b028c656c7ab73b2ceaa8eaa38e74015fb07d7226189ed059b00030000000200000001000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f0101d00fd00f0000000000000000bfa300000000000001010000010000000000eab0c70a6da142a1edce069f11addd62b9d31daa29526e81b46ca828c2216c0a1d50a503000000000000000300000000000000010000000000eab0c7030000000000000001000000000000eab0c70000000000eab0c700000040258ab2c2010000000000eab0c700000000a8ed3232b9c6020000000000eab0c70000acc6020061736d0100000001e1012160000060017f0060027f7f0060037f7f7f0060037f7f7f017f60027f7f017e6000017e6000017f60017e0060037e7f7f0060077f7f7f7f7f7f7f017f60027e7f0060047e7e7e7e0060037e7f7f017e60017f017f60027f7f017f60077f7e7f7f7f7f7f017f60047f7f7f7f017f60067f7f7f7f7f7f017f60047e7f7f7f017f60027f7e0060047f7e7e7f0060057f7f7f7f7f017f60087f7f7f7f7f7f7f7f0060077f7f7f7f7f7f7f0060017d017d60047f7f7f7f0060037f7e7f0060047f7e7f7f0060027e7e0060067f7e7f7f7f7f017f60067f7f7f7f7f7f0060037e7e7e0002df041e03656e760c737973696f5f617373657274000203656e76066d656d736574000403656e76076d656d6d6f7665000403656e760561626f7274000003656e76066d656d637079000403656e7606736861323536000303656e7609726970656d64313630000303656e76207365745f626c6f636b636861696e5f706172616d65746572735f7061636b6564000203656e76167365745f70726f706f7365645f70726f647563657273000503656e760c63757272656e745f74696d65000603656e760d6765745f626c6f636b5f6e756d000703656e760c726571756972655f61757468000803656e760e7365745f66696e616c697a657273000903656e760b626c735f70616972696e67000a03656e760e7365745f70726976696c65676564000b03656e76137365745f7265736f757263655f6c696d697473000c03656e76197365745f70726f706f7365645f70726f6475636572735f6578000d03656e761370726561637469766174655f66656174757265000103656e76067072696e7473000103656e761469735f666561747572655f616374697661746564000e03656e7610616374696f6e5f646174615f73697a65000703656e7610726561645f616374696f6e5f64617461000f03656e76066b765f736574001003656e7614737973696f5f6173736572745f6d657373616765000303656e760a626c735f66705f6d6f64001103656e760a626c735f67325f6d6170001103656e760a626c735f67325f616464001203656e760d6765745f636f64655f68617368001303656e76087072696e74686578000203656e7611737973696f5f6173736572745f636f6465001403ed01eb010001010e0f0100040e0e010104150f0f010f16171802040f0211040402020e010f01030f0308010f02020206190e1a000f0100010001000100020100011b1c020203030f0f020e11020e030302020202021d0f1d1d1d1d1d0f1c1b1c1d0f0f021d1d0f1d0f0e02021d0f0e02021d0f0e1d0f0f0f1d1d031d141e020f0f0f0f1f030201010f0f02020f0f0f0f0f0f020f0f0303000f030202020202020f030f020f02020f0202020f1e020f020f02020f0211020e030101010e010202020202020e0211020e0f02030f02020211020e1a010303030303030303030f0303030f010101010211020e1a0120200405017001242405030100010616037f014180c0000b7f0041c8d9000b7f0041d0d9000b072e04066d656d6f727902000a5f5f646174615f656e6403010b5f5f686561705f626173650302056170706c790088020944010041010b23b401b501b601b701b801b901bd01bf01c001c201c301c4014f515355585ad801d901da01db01dc01dd01ef01f001f101f201f301f4013cfd01fe013eff010ae6a502eb0110001024104d105010521054105610590b0900200041013602000b0900200041003602000b7201037f024020000d0041000f0b410041002802c456200041107622016a22023602c456410041002802bc56220320006a410f6a41707122003602bc560240200241107420004b0d004100200241016a3602c456200141016a21010b024020014000417f470d0041004180c00010000b20030b8a0101037f0240200120006c22000d0041000f0b410041002802c456200041107622026a22033602c456410041002802bc56220120006a410f6a41707122043602bc560240200341107420044b0d004100200341016a3602c456200241016a21020b024020024000417f470d0041004180c00010000b024020010d0041000f0b20014100200010011a20010b02000b3601017f230041106b2200410036020c4100200028020c280200410f6a41707122003602b856410020003602bc5641003f003602c4560b990101037f41c8d600101f024041002802d05622030d0041d8d6002103410041d8d6003602d0560b0240024041002802d45622044120470d0002404184024101102222030d00417f21050c020b41002104200341002802d056360200410020033602d0560b410021054100200441016a3602d456200320044102746a22034184016a2001360200200341046a20003602000b41c8d600102020050bcc0101037f20002101024002402000410371450d00024020002d00000d00200020006b0f0b200041016a2201410371450d0020012d0000450d01200041026a2201410371450d0020012d0000450d01200041036a2201410371450d0020012d0000450d01200041046a22014103710d010b2001417c6a21022001417b6a21010340200141046a2101200241046a22022802002203417f73200341fffdfb776a7141808182847871450d000b0340200141016a210120022d00002103200241016a210220030d000b0b200120006b0b3601027f20004101200041014b1b2101024003402001102122000d014100210041002802dc582202450d0120021100000c000b0b20000b0600200010230b0600200010280b4901037f4100210302402002450d000240034020002d0000220420012d00002205470d01200141016a2101200041016a21002002417f6a22020d000c020b0b200420056b21030b20030b6a01017e4200210402400240200341ff004d0d00420021020c010b024020030d00200121040c010b02402003413f4b0d00200141c00020036bad8820022003ad220486842102200120048621040c010b2001200341406aad8621020b20002002370308200020043703000bf90101027f0240200041ffc1d72f4b0d0020012000102d0f0b200020004180c2d72f6e22024180c2d72f6c6b210302400240200041ff93ebdc034b0d00200120024130723a0000410121000c010b410221002001200241017441d0c0006a410210041a0b200120006a220020034190ce006e220141ffff037141e4006e220241017441d0c0006a410210041a200041026a2001200241e4006c6b41017441feff037141d0c0006a410210041a200041046a200320014190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041066a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041086a0bda0301027f02402001418fce004b0d000240200141e3004b0d000240200141094b0d00200020014130723a0000200041016a0f0b2000200141017441d0c0006a410210041a200041026a0f0b200141ffff0371220241e4006e21030240200141e7074b0d00200020034130723a0000200041016a200241e4007041017441d0c0006a410210041a200041036a0f0b2000200341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0f0b20014190ce006e210302400240200141bf843d4b0d0002402001419f8d064b0d00200020034130723a0000410121020c020b410221022000200341017441d0c0006a410210041a0c010b0240200141fface2044b0d002000200341ffff037141e4006e22024130723a0000200041016a2003200241e4006c6b41017441feff037141d0c0006a410210041a410321020c010b2000200141c0843d6e41017441d0c0006a410210041a200041026a200341e4007041017441d0c0006a410210041a410421020b200020026a2200200120034190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0b05001003000bbb0101037f20004200370200200041086a22024100360200024020012d00004101710d00200020012902003702002002200141086a28020036020020000f0b02402001280204220241704f0d00200128020821030240024002402002410b490d002002410f72220441016a10272101200020023602042000200441026a360200200020013602080c010b200020024101743a0000200041016a21012002450d010b20012003200210041a0b200120026a41003a000020000f0b1003000bc50101047f20004200370200200041086a41003602000240200128020420012d00002205410176200541017122061b22052002490d00200520026b2205200320052003491b220341704f0d00200128020821070240024002402003410b490d002003410f72220841016a10272105200020033602042000200841026a360200200020053602080c010b200020034101743a0000200041016a21052003450d010b20052007200141016a20061b20026a200310041a0b200520036a41003a000020000f0b1003000bfc0101047f0240416e20016b2002490d00200041016a210820002d000041017121092000280208210a416f210b0240200141e6ffffff074b0d00410b200220016a22022001410174220b2002200b4b1b2202410f7241016a2002410b491b210b0b200a200820091b2108200b1027210202402004450d0020022008200410041a0b02402006450d00200220046a2007200610041a0b2003200520046a220a6b210902402003200a460d00200220046a20066a200820046a20056a200910041a0b02402001410a460d00200810280b200020023602082000200b4101723602002000200620046a20096a2204360204200220046a41003a00000f0b1003000bcb0101047f416f21070240416f20016b2002490d00200041016a210820002d000041017121092000280208210a0240200141e6ffffff074b0d00410b200220016a220720014101742202200720024b1b2207410f7241016a2007410b491b21070b200a200820091b210820071027210202402004450d0020022008200410041a0b02402003200520046a2209460d00200220046a20066a200820046a20056a200320096b10041a0b02402001410a460d00200810280b20002002360208200020074101723602000f0b1003000b820201067f0240200141704f0d00024020002d0000220220002802002203417e71417f6a2000280204200341017641ff007120034101711b22032001200320014b1b2201410f72220446712002410171452001410a4b22021b0d000240024020020d0041012102200041016a210520002802082106200321070c010b200441016a10272105200028020420002d00002202410176200241017122021b21072000280208200041016a20021b21060b0240200741016a2207450d0020052006200710041a0b02402002450d00200610280b02402001410b490d0020002005360208200020033602042000200441026a3602000f0b200020034101743a00000b0f0b1003000bb20101037f0240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000bb80101047f2001102621020240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000ba20101037f0240024002400240024020002d000022024101710d00410a2103410a210420024114460d01200241017621030c020b200028020422032000280200417e71417f6a2204470d020b2000200441012004200441004100103220002d00004101710d010b2000200341017441026a3a0000200041016a21000c010b2000200341016a360204200028020821000b200020036a220041003a0001200020013a00000bf80101037f0240200028020420002d00002204410176200441017122051b22042001490d000240024020002802002206417e71417f6a410a20051b220520046b2003490d002003450d012000280208200041016a20064101711b2105024020042001460d00200520016a220620036a2006200420016b10021a200220034100200520046a20024b1b4100200620024d1b6a21020b200520016a2002200310021a200420036a21030240024020002d0000410171450d00200020033602040c010b200020034101743a00000b200520036a41003a000020000f0b20002005200420036a20056b2004200141002003200210310b20000f0b1003000b0e002000200120022002102610370baa0101057f0240200028020420002d00002203410176200341017122041b22052001490d0002402002450d00200520016b2206200220062002491b21072000280208200041016a20041b21040240200620024d0d00200420016a2202200220076a200620076b10021a20002d000021030b200520076b2102024002402003410171450d00200020023602040c010b200020024101743a00000b200420026a41003a00000b20000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b040020000b2801017f0240200028020822010d00200020002802002802101101000f0b20002001417f6a3602080b040041000b05001003000b2301017f230041206b2203240020012002200310052000200310411a200341206a24000bbd0301057e200131000f2102200131000e2103200131000d2104200020013100002205423886200542108620013100014208868420013100028442108620013100034208868420013100048442108620013100054208868420013100068422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131000742088684200131000884421086200131000942088684200131000a84421086200131000b42088684200131000c8442108622054238888437030820002002200320052004420886848442088684370300200131001f2102200131001e2103200131001d2104200041186a20013100102205423886200542108620013100114208868420013100128442108620013100134208868420013100148442108620013100154208868420013100168422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131001742088684200131001884421086200131001942088684200131001a84421086200131001b42088684200131001c844210862205423888843703002000200220032005200442088684844208868437031020000bed0102017f017e230041206b220324002001200220031006200020033100014208862003310000421086842003310002844228862003310005420886200331000684200331000342188620033100044210868484420886842003310009420886200331000a842003310007421886200331000842108684844220862204423888843703082000200331000d420886200331000e842004200331000b421886200331000c421086848484420886200331000f84370300200041186a200331001142088620033100104210868420033100128442288620033100134220868437030020004200370310200341206a24000b0a00410020003703e0580b5101017f230041e0006b220124002001200141e0006a36020c2001200141106a3602082001200141106a360204200141046a200010451a200141106a200128020820012802046b1007200141e0006a24000b9b0901027f02402000280208200028020422026b41074a0d0041004198c2001000200028020421020b20022001410810041a2000200028020441086a2202360204200141086a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001410c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141106a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141146a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141186a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001411c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141206a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141246a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141286a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001412c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141306a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141346a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141386a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a22023602042001413a6a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a22023602042001413c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141c0006a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141c4006a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602040240200028020820026b41034a0d0041004198c2001000200028020421020b2002200141c8006a410410041a2000200028020441046a36020420000b7402017f017e230041106b22022400200241046a200110470240024020022802042201200228020820016b100822034200530d0020002003370300410121010c010b41002101200041003a00000b200020013a0008024020022802042200450d0020022000360208200010280b200241106a24000baa0403047f017e027f230041206b2202240041002103200041003602082000420037020020012802042204200128020022056b410675ad21060340200341016a2103200642ff005621072006420788210620070d000b2002200336021402400240024020052004470d0041002107410021050c010b0340200228021441086a2107200541386a2802002208ad21060340200741016a2107200642ff005621032006420788210620030d000b200220073602142002200241146a3602182008417f460d02200841027441c4c2006a28020021072002200241186a360208200241086a200541086a2007110200200541c0006a22052004470d000b2000280200210720002802042105200228021421030b024002402003200520076b22084d0d002000200320086b10a40120002802002107200028020421050c010b200320084f0d002000200720036a22053602040b2002200736020c2002200736020820022007200520076b6a360210200128020420012802006b410675ad2106034020022006a741ff0071200642ff00562203410774723a00180240200228021020076b41004a0d0041004198c20010000b200642078821062007200241186a410110041a2002200228020c41016a220736020c20030d000b02402001280200220720012802042203460d0003402002200241086a360214200220073602182002200741086a36021c200241186a200241146a1048200741c0006a22072003470d000b0b200241206a24000f0b10b101000b930202047f017e230041106b2202240020002802002103024020012802002204280208200428020422056b41074a0d0041004198c2001000200428020421050b20052003410810041a2004200428020441086a360204200028020422053502302106200128020022042802042101034020022006a741ff0071200642ff00562200410774723a000b0240200428020820016b41004a0d0041004198c2001000200428020421010b2006420788210620012002410b6a410110041a2004200428020441016a220136020420000d000b20022004360204024020052802302204417f470d0010b101000b200441027441f4c2006a28020021042002200241046a36020c2002410c6a20052004110200200241106a24000b040010090b930101047f230041106b210102402000bc220241177641ff017122034195014b0d000240200341ff00490d0041ffffff03200341817f6a2203762204200271450d0120012000430000807b9238020c4100200420024100481b20026a418080807c20037571be0f0b20012000430000807b923802080240200241004e0d0043000000800f0b430000803f200020021b21000b20000bfb0e01067f02400240200041d3014b0d004130210141b0c300210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200228020021020c010b02402000417c4f0d002000200041d2016e220541d2016c22066b21004130210141f0c400210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200241f0c4006b41027521000340200041027441f0c4006a28020020066a210241d87e2101024003402002200141ecc4006a28020022036e22042003490d042002200420036c460d012002200141f0c4006a28020022036e22042003490d042002200420036c460d01200141086a22010d000b41a303210103402002200141b07e6a22036e22042003490d042002200420036c460d012002200141ba7e6a22046e22062003410a6a2203490d042002200620046c460d012002200141bc7e6a22046e2206200341026a2203490d042002200620046c460d012002200141c07e6a22046e2206200341046a2203490d042002200620046c460d012002200141c27e6a22046e2206200341026a2203490d042002200620046c460d012002200141c67e6a22046e2206200341046a2203490d042002200620046c460d012002200141cc7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ce7e6a22046e2206200341026a2203490d042002200620046c460d012002200141d47e6a22046e2206200341066a2203490d042002200620046c460d012002200141d87e6a22046e2206200341046a2203490d042002200620046c460d012002200141da7e6a22046e2206200341026a2203490d042002200620046c460d012002200141de7e6a22046e2206200341046a2203490d042002200620046c460d012002200141e47e6a22046e2206200341066a2203490d042002200620046c460d012002200141ea7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ec7e6a22046e2206200341026a2203490d042002200620046c460d012002200141f27e6a22046e2206200341066a2203490d042002200620046c460d012002200141f67e6a22046e2206200341046a2203490d042002200620046c460d012002200141f87e6a22046e2206200341026a2203490d042002200620046c460d012002200141fe7e6a22046e2206200341066a2203490d042002200620046c460d012002200141827f6a22046e2206200341046a2203490d042002200620046c460d012002200141887f6a22046e2206200341066a2203490d042002200620046c460d012002200141907f6a22046e2206200341086a2203490d042002200620046c460d012002200141947f6a22046e2206200341046a2203490d042002200620046c460d012002200141967f6a22046e2206200341026a2203490d042002200620046c460d0120022001419a7f6a22046e2206200341046a2203490d042002200620046c460d0120022001419c7f6a22046e2206200341026a2203490d042002200620046c460d012002200141a07f6a22046e2206200341046a2203490d042002200620046c460d012002200141a87f6a22046e2206200341086a2203490d042002200620046c460d012002200141ae7f6a22046e2206200341066a2203490d042002200620046c460d012002200141b27f6a22046e2206200341046a2203490d042002200620046c460d012002200141b87f6a22046e2206200341066a2203490d042002200620046c460d012002200141ba7f6a22046e2206200341026a2203490d042002200620046c460d012002200141be7f6a22046e2206200341046a2203490d042002200620046c460d012002200141446a22046e2206200341066a2203490d042002200620046c460d012002200141466a22046e2206200341026a2203490d042002200620046c460d0120022001414c6a22046e2206200341066a2203490d042002200620046c460d012002200141526a22046e2206200341066a2203490d042002200620046c460d012002200141566a22046e2206200341046a2203490d042002200620046c460d012002200141586a22046e2206200341026a2203490d042002200620046c460d0120022001415c6a22046e2206200341046a2203490d042002200620046c460d012002200141626a22046e2206200341066a2203490d042002200620046c460d012002200141646a22046e2206200341026a2203490d042002200620046c460d0120022001416a6a22046e2206200341066a2203490d042002200620046c460d0120022001416e6a22046e2206200341046a2203490d042002200620046c460d012002200141706a22046e2206200341026a2203490d042002200620046c460d012002200141746a22046e2206200341046a2203490d042002200620046c460d012002200141766a22046e2206200341026a2203490d042002200620046c460d01200220016e22042003410a6a490d04200420016c2103200141d2016a210120022003470d000b0b4100200041016a2202200241304622021b2100200520026a220541d2016c21060c000b0b1003000b20020bc20801097f230041206b220424000240024002400240200128020422050d0020004200370200200041086a41003602000c010b02402002450d00200441186a410036020020044200370310200541704f0d0220012802002102024002402005410b490d002005410f72220641016a10272101200420053602142004200641026a360210200420013602180c010b200420054101743a0010200441106a41017221010b20012002200510041a200120056a41003a000020042802182207200441106a410172220820042d0010220141017122021b2206200428021422092001410176220a20021b220b6a210c2006210102400240200b450d00200b210520062101034020012d0000410a460d01200141016a21012005417f6a22050d000b200c21010c010b2001200c460d00200141016a2205200c460d002006200b6a220220016b417e6a210b024020022001417f736a4103712202450d000340024020052d00002206410a460d00200120063a0000200141016a21010b200541016a21052002417f6a22020d000b0b0240200b4103490d000340024020052d00002202410a460d00200120023a0000200141016a21010b024020052d00012202410a460d00200120023a0000200141016a21010b024020052d00022202410a460d00200120023a0000200141016a21010b024020052d00032202410a460d00200120023a0000200141016a21010b200541046a2205200c470d000b0b20042d00102205410176210a2005410171210220042802142109200428021821070b200441106a20012007200820021b22056b20052009200a20021b6a20016b10391a2004200428021420042d00102201410176200141017122011b36020c20042004280218200820011b360208200420042902083703002000200441002003104c20042d0010410171450d01200428021810280c010b20004200370200200041086a41003602002000200541027641036c10332001280200210b410021010340200141016a20054f0d03024020034108742206200b20016a220241016a2d00007241b0c6006a2d0000220c41c000470d0041004199c00010000b0240200620022d00007241b0c6006a2d0000220841c000470d0041004199c00010000b20002008411a74200c4114744180808018717241187510360240200141026a20054f0d000240200241026a2d0000220841526a0e1001000000000000000000000000000001000b0240200620087241b0c6006a2d0000220841c000470d0041004199c00010000b2000200c411c74200841167441808080f80071724118751036200141036a20054f0d000240200241036a2d0000220241526a0e1001000000000000000000000000000001000b2008410674210c0240200620027241b0c6006a2d0000220241c000470d0041004199c00010000b20002002200c6a41187441187510360b200141046a22012005490d000b0b200441206a24000f0b200441106a102e000b410041b0ca0010001003000b2e00024041002d00f4584101710d00410041013a00f45841e8d80041bac000104e1a410d41004180c00010251a0b0b8c0101037f20004200370200200041086a4100360200024020011026220241704f0d000240024002402002410b490d002002410f72220341016a10272104200020023602042000200341026a360200200020043602080c010b200020024101743a0000200041016a21042002450d010b20042001200210041a0b200420026a41003a000020000f0b2000102e000b1900024041002d00e858410171450d0041002802f05810280b0b2e00024041002d0084594101710d00410041013a00845941f8d80041caca00104e1a410e41004180c00010251a0b0b1900024041002d00f858410171450d0041002802805910280b0b2e00024041002d0094594101710d00410041013a0094594188d90041d3ca00104e1a410f41004180c00010251a0b0b1900024041002d008859410171450d0041002802905910280b0b2e00024041002d00a4594101710d00410041013a00a4594198d90041ffca00104e1a411041004180c00010251a0b0b1900024041002d009859410171450d0041002802a05910280b0b7b01027f230041e0006b22002400024041002d00b4594101710d00410041013a00b459200041abcb0041e00010042101410042003702a859410041003602b05941a8d90041e000105741002802ac59200141e00010041a410041002802ac5941e0006a3602ac59411141004180c00010251a0b200041e0006a24000b2f01017f02402001417f4a0d002000103f000b2000200110272202360200200020023602042000200220016a3602080b1e01017f024041002802a8592201450d00410020013602ac59200110280b0b6e01027f024041002d00c4594101710d00410041013a00c459410041c004102722003602b8594100200041c0046a3602c059410021010340200020016a41003a0000200141016a220141c004470d000b200041013a00004100200020016a3602bc59411241004180c00010251a0b0b1e01017f024041002802b8592201450d00410020013602bc59200110280b0bae0102017f017e23004180016b2203240020002903002104200341e0006a20022802002200200228020420006b1040200342003703582003200437035020032001370348200341186a2003290368370300200341206a200341f0006a290300370300200341286a200341e0006a41186a2903003703002003200137030020032003290360370310200310493703302003100a360238200341d0006a2001200341c8006a2003105c20034180016a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c0220034100109701450d0041004194d00010000b20044190026a24000bbb1407027f017e0e7f017e027f027d067f23004190036b220224002000290300100b02402001410c6a2802002200200128020822036b41306d41818004490d004100418bcc00100020012802082103200128020c21000b024020002003470d00410041bccc00100020012802082103200128020c21000b20024188036a4100360200420021042002420037038003200220012903003703f802200241f8026a41086a2205200020036b41306d105e200241ec026a41dbcc00104e2106200241e0026a41e3cc00104e2107200241808080fc033602dc02200242003702d402200242003702cc02024020012802082208200128020c2209460d00200241cc026a41086a210a200741016a210b200641016a210c2002412c6a410172210d2002412c6a410172210e420021040340024020082d0000410171450d002008280204418102490d00410041ebcc0010000b2002412c6a200841186a22004100200628020420062d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200628020420062d00002200410176200041017122001b470d002006280208200c20001b2100024020030d00200e210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b4100419fcd0010000b0240200f2d0000410171450d00200228023410280b2002412c6a200841246a22004100200728020420072d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200728020420072d00002200410176200041017122001b470d002007280208200b20001b2100024020030d00200d210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b410041c4cd0010000b0240200f2d0000410171450d00200228023410280b0240200829031022132004427f85580d00410041fccd001000200829031021130b200241ec016a200841206a280200200841196a20082d0018220041017122031b2008411c6a280200200041017620031b105f2002410036022c2002412c6a200241ec016a410410041a200228022c211002400240024020022802d0022212450d000240024020126941014b22110d002012417f6a201071210f0c010b2010210f20102012490d002010201270210f0b20022802cc02200f4102746a2802002200450d002012417f6a2114034020002802002200450d010240200028020422032010460d000240024020110d00200320147121030c010b20032012490d00200320127021030b2003200f470d020b200041086a200241ec016a41e000102a0d000b410041a4ce0010000c010b41e8001027221541086a200241ec016a41e00010041a201541003602002015201036020420022a02dc02211620022802d80241016ab32117024002402012450d0020162012b39420175d450d010b2012410174201241034920122012417f6a7141004772722100024002402017201695104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b41022118024020002003200020034b1b22004101460d00024020002000417f6a710d00200021180c010b2000104b21180b024002400240201820022802d00222004b0d00201820004f0d02200041034921120240024020022802d802b320022a02dc0295104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b0240024020120d0020006941014b0d002003410141202003417f6a676b7420034102491b21030c010b2003104b21030b20182003201820034b1b221820004f0d022018450d010b20184180808080044f0d0420184102741027210320022802cc022100200220033602cc0202402000450d00200010280b200220183602d0024100210020182103034020022802cc0220006a4100360200200041046a21002003417f6a22030d000b20022802d4022214450d01201428020421190240024020186941014b221a0d0020192018417f6a7121190c010b20192018490d00201920187021190b20022802cc0220194102746a200a3602002014280200220f450d012018417f6a211b0340200f280204210002400240201a0d002000201b7121000c010b20002018490d00200020187021000b0240024020002019470d00200f21140c010b02400240024020022802cc022000410274221c6a2203280200450d004100211d200f28020022120d01200f21030c020b20032014360200200f2114200021190c020b200f41086a2111200f210303402011201241086a41e000102a21122003280200210002402012450d002000211d0c020b20002103200028020022120d000b200021030b2014201d360200200320022802cc02201c6a28020028020036020020022802cc02201c6a280200200f3602000b2014280200220f0d000c020b0b20022802cc022100200241003602cc0202402000450d00200010280b200241003602d0020b024020022802d00222122012417f6a2200710d002000201071210f0c010b0240201020124f0d002010210f0c010b2010201270210f0b02400240024020022802cc02200f4102746a220328020022000d00201520022802d402360200200220153602d4022003200a36020020152802002200450d02200028020421000240024020122012417f6a2203710d00200020037121000c010b20002012490d00200020127021000b20022802cc0220004102746a21000c010b201520002802003602000b200020153602000b200220022802d80241016a3602d8020b2002412c6a2008412c6a280200200841256a20082d0024220041017122031b200841286a280200200041017620031b10600240200241ec016a2002412c6a10610d00410041b9ce0010000b41e00010272200200241ec016a41e00010041a20022008102f21032002200041e0006a22123602202002201236021c20022000360218200220082903103703102005200310621a024020022802182200450d002002200036021c200010280b024020032d0000410171450d00200228020810280b201320047c2104200841306a22082009470d010c020b0b1003000b02400240200420012903002213540d0020132004420188560d010b410041d4ce0010000b024020022802800322002002280284032203460d00034002402000411c6a280200200041186a2802006b41e000460d00410041a4d40010000b200041286a22002003470d000b0b2002412c6a200241f8026a10634200200228022c2200200228023020006b100c0240200228022c2200450d0020022000360230200010280b024020022802d4022200450d00034020002802002103200010282003210020030d000b0b20022802cc022100200241003602cc0202402000450d00200010280b024020072d0000410171450d00200728020810280b024020062d0000410171450d00200628020810280b200510641a20024190036a24000b5001027f230041206b2202240002402000280208200028020022036b41286d20014f0d0020002002410c6a2001200028020420036b41286d200041086a106522011066200110671a0b200241206a24000b990902047f027e230041a0016b22032400024041002802ec58220441002d00e85822054101762206200541017122051b2002490d00410041edd000100041002d00e858220541017621062005410171210541002802ec5821040b0240200141002802f05841e9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802ec5841002d00e858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41e000103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141e400460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041e0001042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000b990902047f027e230041a0016b22032400024041002802fc58220441002d00f85822054101762206200541017122051b2002490d00410041edd000100041002d00f858220541017621062005410171210541002802fc5821040b0240200141002802805941f9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802fc5841002d00f858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41c001103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141c401460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041c0011042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000beb0101037f23004190096b2202240041002103200241d0076a410041c00110011a200241d0046a410041800310011a200241d0076a41002802a859220441002802ac5920046b10041a200241d0046a200141c00110041a200241d0076a41e0006a200041e00010041a200241e0003602cc04200220003602c804200220022902c80437030020024198d900200241d0046a41c0016a1068200241086a410041c00410011a0240200241d0076a41c001200241d0046a4180034102200241086a41c004100d0d00200241086a41002802b859220041002802bc5920006b102a4521030b20024190096a240020030bcf0101067f230041206b22022400200041086a210302400240024020002802042204200028020822054f0d0020032004200110692000200028020441286a22033602040c010b2004200028020022066b41286d220741016a220441e7cc99334f0d0120032002410c6a200520066b41286d220541017422062004200620044b1b41e6cc9933200541b3e6cc19491b2007200310652204280208200110692004200428020841286a360208200020041066200410671a200028020421030b200241206a2400200341586a0f0b2000103f000b6f01027f230041106b22022400200041003602082000420037020020024108360204200241046a200141086a220310a2011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a2001109a01200310a3011a200241106a24000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341586a220310ac0120032001470d000b200028020021020b20002001360204200210280b20000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141e7cc99334f0d01200141286c102721040b2000200436020020002004200241286c6a220336020820002004200141286c6a36020c2000200336020420000f0b1003000b9e0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241586a200341586a220310692001200128020441586a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d401024020002802002201450d00200110280b20000be10301027f230041a0066b22032400200341a0046a418002200028020020002802042001280208200141016a20012d0000220041017122041b2001280204200041017620041b109d01410021010340200341c0016a20016a200341a0046a2001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a413010181a200341a0046a41c0006a2100410021010340200341c0016a20016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a41306a2204413010181a20034180036a41e000200341c0016a41c00110191a200341a0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c00020034180036a413010181a200341e0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c0002004413010181a20034180036a41e000200341c00110191a200341c0016a41c001200341c001200241c001101a1a200341a0066a24000b8f0101017f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b200141003602182001411c6a220342003702002001200228021836021820032002411c6a280200360200200141206a200241206a22032802003602002001200229031037031020034100360200200242003703180b5001017f230041106b220224002000290300100b200241046a2001106b420120022802042200200228020820006b10101a024020022802042200450d0020022000360208200010280b200241106a24000b6501017f230041106b22022400200041003602082000420037020020024100360204200241046a200110ad011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a200110ae011a200241106a24000b970102047f027e230041206b220224002000290300100b2002210341022104200121050340200541086a290300210620052903002107410f21000340200320006a20073c000020074208882006423886842107200642088821062000417f6a2200417f470d000b200541106a2105200341106a21032004417f6a22040d000b2002101141d5cf001012200141f0cf00106d200241206a24000b860103037f027e017f230041206b2202240020022103410221040340200041086a290300210520002903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200041106a2100200341106a21032004417f6a22040d000b20024120101c20011012200241206a24000b8d0103037f027e017f230041206b2202240020022103410221040340200141086a290300210520012903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200141106a2101200341106a21032004417f6a22040d000b0240200210130d00410041f2cf0010000b200241206a24000ba70101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a20034200370300200341146a200310701a02402004418004490d002002450d00200210230b200341206a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000bef0101047f230041c0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b2003413c6a2205200220046a360200200320023602382003200236023420034200370328200341346a200341286a10701a200341346a200341276a10761a200341346a200341266a10761a200341186a20052802003602002003200329023437031020032001370308200320003703002003200329032820032d002720032d0026107702402004418004490d002002450d00200210230b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b6602017f017e230041e0006b220424002000290300210520044200370358200420053703502004200137034820042001370300200441106a200141001078200410493703302004100a360238200441d0006a2001200441c8006a20041079200441e0006a24000b810201047f230041106b2203210420032400024020020d00200341406a2202220324000b200341406a22032400024020014100200341c000101b220541c100490d002001410020051021220341c000101b1a0b200441003602002004200341c0006a220636020c2004200336020820042003360204200441046a2004107c1a02402004280200450d00410041ead40010000b2004200636020c2004200336020820042003360204200441046a200210c5011a0240200541c100490d00200310230b20002002290310370300200041186a200241286a290300370300200041106a200241206a290300370300200041086a200241186a290300370300200441106a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c022003410010c601450d0041004194d00010000b20044190026a24000b850201047f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341cc006a2202200420056a360200200320043602482003200436024420034200370338200341c4006a200341386a10701a200341003602342003420037022c200341c4006a2003412c6a107b1a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a20032903382003412c6a105b0240200328022c2202450d0020032002360230200210280b02402005418004490d002004450d00200410230b200341d0006a24000b7701037f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c107d02402000280208200028020422036b2001280204200128020022046b22014f0d00410041c0d4001000200028020421030b20042003200110041a2000200028020420016a360204200241106a240020000b7401047f2000280204210241002103410021040340024020022000280208490d00410041a2d5001000200028020421020b20022c000021052000200241016a2202360204200541ff0071200441ff01712204742003722103200441076a21042002210220054100480d000b2001200336020020000b3a01027f024020012000280204200028020022026b22034d0d002000200120036b10a4010f0b0240200120034f0d002000200220016a3602040b0bbc0102047f017e230041206b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c20034200370308200341146a200341086a10701a200341146a200341076a10761a2003290308210620032d000721022000100b20062002410047100e02402005418004490d002004450d00200410230b200341206a24000be90102037f047e230041306b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360228200320023602242003200220046a36022c20034200370318200341246a200341186a10701a200341246a200341106a1080011a200341246a200341086a1080011a200341246a20031080011a200329030021052003290308210620032903102107200329031821082000100b2008200720062005100f02402004418004490d002002450d00200210230b200341306a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000bdb0101047f230041c0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b2003413c6a2202200420056a36020020032004360238200320043602342003410036023020034200370228200341346a200341286a1082011a200341206a2002280200360200200320032902343703182003200137031020032000370308200341086a200341286a106a200341286a1083011a02402005418004490d002004450d00200410230b200341c0006a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010840102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108501200341206a22032001470d000b0b200241106a240020000b1b0002402000280200450d00200010d501200028020010280b20000b8c0101037f0240200120002802042202200028020022036b41057522044d0d002000200120046b10df010f0b0240200120044f0d0002402002200320014105746a2203460d002002416c6a2101034002402001410c6a2204280200417f460d00200110d6011a0b2004417f360200200141746a2104200141606a210120042003470d000b0b200020033602040b0b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10e501200241106a24000bb30101047f230041306b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c2003410036021020034200370208200341146a200341086a1087011a2000100b200341206a200341086a1046200341086a1088011a02402005418004490d002004450d00200410230b200341306a24000b7701027f230041106b220224002002410036020020002002107c1a2001200228020010890102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108a01200341c0006a22032001470d000b0b200241106a240020000b1b0002402000280200450d002000108002200028020010280b20000bb00101047f230041106b2202240002400240200120002802042203200028020022046b41067522054d0d002000200120056b1081020c010b200120054f0d0002402003200420014106746a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f360200200141786a2105200141406a210120052004470d000b0b200020043602040b200241106a24000b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10f501200241106a24000bf30101057f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341c4006a41086a2202200420056a3602002003200436024820032004360244200341386a41003602002003420037033020034200370328200341c4006a200341286a1070200341286a41086a2206108c011a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a200341286a105d2006108d011a02402005418004490d002004450d00200410230b200341d0006a24000b5c01027f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c10c90102402001280200220320012802042201460d0003402000200310ca011a200341306a22032001470d000b0b200241106a240020000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341506a220310cc0120032001470d000b200028020021020b20002001360204200210280b20000b980101037f230041e0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360258200320023602542003200220046a36025c200341d4006a2003108f011a2000100b2003104402402004418004490d002002450d00200210230b200341e0006a24000b9b0100200020011070200141086a1090012001410c6a109001200141106a109001200141146a109001200141186a1090012001411c6a109001200141206a109001200141246a109001200141286a1090012001412c6a109001200141306a109001200141346a109001200141386a1091012001413a6a1091012001413c6a109001200141c0006a109001200141c4006a109001200141c8006a1090010b4001017f02402000280208200028020422026b41034b0d00410041c0d4001000200028020421020b20012002410410041a2000200028020441046a36020420000b4001017f02402000280208200028020422026b41014b0d00410041c0d4001000200028020421020b20012002410210041a2000200028020441026a36020420000b9d0101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a2003290308100b02402004418004490d002002450d00200210230b200341206a24000ba00201047f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a4200370300200342003703082003420037030041002102200421050c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a42003703002003420037030820034200370300200220046a21052004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a2003109401200341386a2005360200200341346a200241206a360200200320023602302003200137032820032000370320200341206a2003106c02402004418004490d002002450d00200210230b200341c0006a24000be20104017f017e017f027e230041106b22032400024020002001460d0042002104411021054200210603400240024020054102490d00200642088620044238888421062005417f6a2105200420003100008442088621040c010b024020054101460d004100418ad60010000b20003100002107200220063703082002200420078437030041102105200241106a210242002104420021060b200041016a22002001470d000b20054110460d00200320042006200541037441786a4100200541014b1b102b2002200341086a290300370308200220032903003703000b200341106a24000be60101037f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a42003703002003420037030820034200370300410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a420037030020034200370308200342003703002004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a200310940120032003106e02402004418004490d002002450d00200210230b200341c0006a24000b6201027f0240200028028002220241086a418102490d00410041a5d000100020002802800221020b200020026a2103410721020340200320026a20013c0000200142088821012002417f6a2202417f470d000b200020002802800241086a360280020b5001017f23004190026b22062400200641046a200410980141a68203200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a3602082002200036020420022000360200200220011099011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41034a0d00410041c2d0001000200028020421020b20022001410410041a2000200028020441046a36020420000bb00401047f23004180036b220624000240200141e03f4b0d00200541ff014a0d00200641c0026a410041c00010011a200620053a00bf02200641003a00be02200620013a00bd02200620014108763a00bc0220064188026a42abb38ffc91a3b3f0db0037030020064180026a42ffa4b988c591da829b7f370300200641f8016a42f2e6bbe3a3a7fda7a57f370300200642e7cca7d0d6d0ebb3bb7f3703f001200642003703e801200641003602e001200641a0016a200641c0026a41c000109e01200641a0016a20022003109e01200641a0016a200641bc026a4103109e01200641a0016a20042005109e01200641a0016a200641bc026a41036a22074101109e01200641a0016a20064190026a109f01200641f0006a4100412110011a2001411f6a22034120490d0020034105762108200041606a2109410121000340410021030340200641f0006a20036a220220022d000020064190026a20036a2d0000733a0000200341016a22034120470d000b200620003a009001200642abb38ffc91a3b3f0db00370368200642ffa4b988c591da829b7f370360200642f2e6bbe3a3a7fda7a57f370358200642e7cca7d0d6d0ebb3bb7f37035020064200370348200641003602402006200641f0006a4121109e01200620042005109e01200620074101109e012006200641f0006a109f012009200041057422036a200641f0006a200120036b2203411f7520037141206a10041a20002008462103200041016a21002003450d000b0b20064180036a24000b6f01027f02402002450d0020002802402103034020012d000021042000200341016a360240200020036a20043a000002402000280240220341c000470d00200010a0014100210320004100360240200020002903484280047c3703480b200141016a21012002417f6a22020d000b0b0b5b01037f200010a101200041d0006a2102410021030340411820034103746b2104410021000340200120006a200220006a2802002004763a0000200041046a22004120470d000b200141016a2101200341016a22034104470d000b0bbe04010c7f230041a0026b2201240041002102410021030340200141206a20026a2000200341ff017122046a280000220341187420034180fe03714108747220034108764180fe037120034118767272360200200441046a2103200241046a220241c000470d000b41002102200128022021050340200141206a20026a220341c0006a200341386a2802002204410f772004410d77732004410a7673200341246a2802006a20056a200341046a28020022034119772003410e77732003410376736a36020020032105200241046a220241c001470d000b200041d0006a2102410021030340200120036a200220036a280200360200200341046a22034120470d000b41002104200128020c2106200128021c210720012802182105200128021421032001280210210820012802082109200128020421022001280200210a03402005210b200321052009220c2002220972200a220271200c200971722002411e772002411377732002410a77736a200b20082203417f7371200520037172200141206a20046a2802006a2003411a772003411577732003410777736a200441a4d2006a2802006a20076a22086a210a200820066a2108200b2107200c2106200441046a2204418002470d000b2001200b36021c20012005360218200120033602142001200836021020012009360208200120023602042001200a3602002001200c36020c200041d0006a2104410021030340200420036a22022002280200200120036a2802006a360200200341046a22034120470d000b200141a0026a24000bea0102027f027e2000200028024022016a22024180013a000002402001ad220342017c423842c00020014138491b22045a0d00200241016a21012003427f8520047c21030340200141003a0000200141016a21012003427f7c22034200520d000b0b0240200028024022014138490d00200010a00120004100413810011a200028024021010b200020002903482001410374ad7c22033c003f20002003370348200020034208883c003e200020034210883c003d200020034218883c003c200020034220883c003b200020034228883c003a200020034230883c0039200020034238883c0038200010a0010b6b03027f017e017f20012802042202200128020022036b41286dad2104200028020021010340200141016a2101200442ff005621052004420788210420050d000b20002001360200024020032002460d0003402000200310a6011a200341286a22032002470d000b0b20000b5f01027f230041106b220224002002200128020420012802006b41286d36020c20002002410c6a10a8011a02402001280200220320012802042201460d0003402000200310a9011a200341286a22032001470d000b0b200241106a240020000ba30201067f230041206b2202240002400240024020002802082203200028020422046b2001490d000340200441003a00002000200028020441016a22043602042001417f6a22010d000c020b0b2004200028020022056b220620016a2207417f4c0d012002411c6a200041086a360200410021040240200320056b220341017422052007200520074b1b41ffffffff07200341ffffffff03491b2203450d002003102721040b2002200436020c2002200420036a3602182002200420066a22043602100340200441003a0000200441016a21042001417f6a22010d000b2002200436021420002002410c6a10a5010240200228021420022802102201460d00200220013602140b200228020c2201450d00200110280b200241206a24000f0b2000103f000b890101037f200120012802042000280204200028020022026b22036b2204360204024020034101480d0020042002200310041a200128020421040b200028020021032000200436020020012003360204200028020421042000200128020836020420012004360208200028020821042000200128020c3602082001200436020c200120012802043602000b5802027f017e2000200110a70122022802002001411c6a28020022006a200128021822036b41086a2101200020036bad21040340200141016a2101200442ff005621002004420788210420000d000b2002200136020020020b7403017f017e017f200128020420012d0000220241017620024101711bad2103200028020021020340200241016a2102200342ff005621042003420788210320040d000b200020023602000240200128020420012d0000220441017620044101711b2204450d002000200420026a3602000b20000b860102027f017e230041106b220224002000280204210320013502002104034020022004a741ff0071200442ff00562201410774723a000f0240200028020820036b41004a0d00410041c2d0001000200028020421030b2004420788210420032002410f6a410110041a2000200028020441016a220336020420010d000b200241106a240020000b19002000200110aa01200141106a109a01200141186a10ab010ba30101037f230041106b220224002002200128020420012d0000220341017620034101711b36020c20002002410c6a10a8011a0240200128020420012d00002203410176200341017122041b2203450d002001280208200141016a20041b210402402000280208200028020422016b20034e0d00410041c2d0001000200028020421010b20012004200310041a2000200028020420036a3602040b200241106a240020000b7801037f230041106b220224002002200128020420012802006b36020c20002002410c6a10a8011a02402000280208200028020422036b2001280204200128020022046b22014e0d00410041c2d0001000200028020421030b20032004200110041a2000200028020420016a360204200241106a240020000b3401017f024020012802182202450d002001411c6a2002360200200210280b024020012d0000410171450d00200128020810280b0b960103037f017e017f230041106b2202240020012802042203200128020022046b410575ad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402000200028020041086a3602002002200036020c200441086a2002410c6a410110b001200441206a22042003470d000b0b200241106a240020000b7501027f230041106b220224002002200128020420012802006b4105753602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20002003109a011a200341086a2002410c6a410110af01200341206a22032001470d000b0b200241106a240020000b5401017f230041106b22032400200128020021012003200028021036020c20012003410c6a10a8011a02402000280210417f470d0010b101000b20012000109c011a2001200041046a10ba011a200341106a24000b6503027f017e017f20012802002203280200210120002802102204ad21050340200141016a2101200542ff005621062005420788210520060d000b2003200136020002402004417f470d0010b101000b2003200141046a3602002003200041046a10b2011a0b05001003000b980103037f017e017f230041106b2202240020012802042203200128020022046b41386dad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402002200036020c20042002410c6a410110b301200228020c2201200128020041026a360200200441386a22042003470d000b0b200241106a240020000b8c0103037f017e017f230041106b2203240020012802002204280200210120002802302205ad21060340200141016a2101200642ff005621072006420788210620070d000b200420013602002003200436020802402005417f470d0010b101000b200541027441dcc2006a28020021012003200341086a36020c2003410c6a20002001110200200341106a24000b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041216a3602000b220020002802002802002200200028020041226a3602002000200141246a10a7011a0b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041206a3602000b20002000280200280200220041e100410120012802001b20002802006a3602000b7801027f230041106b220224002002200128020420012802006b41386d3602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20032002410c6a410110bb01200228020c200341346a10bc011a200341386a22032001470d000b0b200241106a240020000b6f01017f230041106b2203240020012802002101200320002802303602082001200341086a10a8011a20032001360204024020002802302201417f470d0010b101000b2001410274418cc3006a28020021012003200341046a36020c2003410c6a20002001110200200341106a24000b4001017f02402000280208200028020422026b41014a0d00410041c2d0001000200028020421020b20022001410210041a2000200028020441026a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b3f01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b2002200141216a10c101200141246a10aa011a0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004120470d000b0b6201027f230041106b220224004100210320002802002802002100200220012802004100473a000f20002002410f6a10be011a024020012802002201450d0003402000200120036a10be011a200341016a220341e000470d000b0b200241106a24000bbd0101027f230041c0006b22022400024020002001107c200141086a10702200280208200028020422036b411f4b0d00410041c0d4001000200028020421030b200241206a2003412010041a2000200028020441206a360204200241206a200241206a41206a2002109401200141286a200241186a290300370300200141206a200241106a290300370300200141186a2002290308370300200120022903003703102000200141306a1076200141316a10762101200241c0006a240020010b5001017f23004190026b22062400200641046a200410c70141aaff00200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a36020820022000360204200220003602002002200110c8011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b6b01037f0240200120002802042202200028020022036b41306d22044d0d002000200120046b10cb010f0b0240200120044f0d00024020022003200141306c6a2201460d00200041086a210403402004200241506a220210cc0120022001470d000b0b200020013602040b0b20002000200110cd01200141106a1070200141186a10cd01200141246a10cd010bf20101067f230041206b22022400200041086a210302400240024020002802082204200028020422056b41306d2001490d0003402003200510ce012000200028020441306a22053602042001417f6a22010d000c020b0b2005200028020022066b41306d220720016a220541d6aad52a4f0d012002410c6a200420066b41306d220441017422062005200620054b1b41d5aad52a200441aad5aa15491b2007200310cf0122052802082103200541106a280200210403402004200310ce012005200528020841306a22033602082001417f6a22010d000b2000200510d001200510d1011a0b200241206a24000f0b2000103f000b4700024020012d0024410171450d002001412c6a28020010280b024020012d0018410171450d00200141206a28020010280b024020012d0000410171450d00200128020810280b0ba90401067f230041206b220224002002410036021c200242003702142000200241146a107b1a0240024002402002280218220320022802142204460d00200241106a410036020020024200370308200320046b220541704f0d02024002402005410a4b0d00200220054101743a0008200241086a41017221060c010b2005410f72220741016a102721062002200536020c2002200741026a360208200220063602100b0340200620042d00003a0000200641016a2106200441016a22042003470d000b200641003a0000024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d01200228021010280c010b200241106a410036020020024200370308410021040340200241086a20046a4100360200200441046a2204410c470d000b024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d00200228021010280b024020022802142204450d0020022004360218200410280b200241206a240020000f0b200241086a102e000ba30101027f20014200370300200141086a4200370300410021020340200120026a4100360200200241046a2202410c470d000b2001420037031820014200370310200141206a4100360200200141186a2103410021020340200320026a4100360200200241046a2202410c470d000b200142003702242001412c6a4100360200200141246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141d6aad52a4f0d01200141306c102721040b2000200436020020002004200241306c6a220336020820002004200141306c6a36020c2000200336020420000f0b1003000b9f0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241506a200341506a220310d2012001200128020441506a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d301024020002802002201450d00200110280b20000bc10101027f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b2001200229031037031020012002290318370318200141206a200241206a280200360200200241186a2104410021030340200420036a4100360200200341046a2203410c470d000b200120022902243702242001412c6a2002412c6a280200360200200241246a2102410021030340200220036a4100360200200341046a2203410c470d000b0b3d01027f02402000280208220120002802042202460d0003402000200141506a22013602082000280210200110cc01200028020822012002470d000b0b0b3d01027f02402000280208220120002802042202460d0003402000200141586a22013602082000280210200110ac01200028020822012002470d000b0b0b5d01037f02402000280204220120002802002202460d002001416c6a2101034002402001410c6a2203280200417f460d00200110d6011a0b2003417f360200200141746a2103200141606a210120032002470d000b0b200020023602040b1b0002402000280200450d00200010d701200028020010280b20000b7d01057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f36020020022003472104200241486a210220040d000b0b20002003360204200141106a24000b02000b02000b1a00024020012d0024410171450d002001412c6a28020010280b0b02000b02000b0800200110de011a0b3701027f024020002802042201450d00200120012802042202417f6a36020420020d00200120012802002802081101002001103d0b20000b9e0201057f230041206b2202240002400240024020002802082203200028020422046b4105752001490d00034020044200370300200441186a4200370300200441106a4200370300200441086a42003703002000200028020441206a22043602042001417f6a22010d000c020b0b2004200028020022056b410575220620016a220441808080c0004f0d012002410c6a200320056b220341047522052004200520044b1b41ffffff3f200341e0ffffff07491b2006200041086a10e00122032802082104034020044200370300200441186a4200370300200441106a4200370300200441086a4200370300200441206a21042001417f6a22010d000b200320043602082000200310e101200310e2011a0b200241206a24000f0b2000103f000b6801017f410021042000410036020c200041106a2003360200024002402001450d00200141808080c0004f0d012001410574102721040b200020043602002000200420024105746a22033602082000200420014105746a36020c2000200336020420000f0b1003000bab0101047f2001280204210202402000280204220320002802002204460d000340200241606a200341606a2205290300370300200241686a200341686a10e3011a2001200128020441606a22023602042005210320052004470d000b200028020021040b2000200236020020012004360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b2101017f2000200028020410e401024020002802002201450d00200110280b20000b7e01027f2000417f360210200041003a0000024020012802102202417f460d0020004100360204200041086a22034200370200200020012802043602042003200141086a2802003602002000410c6a2001410c6a2203280200360200200020012802003602002000200236021020034100360200200142003702040b20000b5601037f0240200028020822022001460d0003402000200241606a22033602080240200341186a2204280200417f460d002002416c6a10d6011a200028020821030b2004417f3602002003210220032001470d000b0b0b960101017f230041106b220324000240024020020d002003410c6a410036020020034200370204200020031090011a2000200341046a220210e6011a02402001280210417f460d00200141046a10d6011a0b2001200329020037020020014100360210200141086a20032902083702002003410036020420034200370208200210d6011a0c010b410041f4d50010000b200341106a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010e70102402001280200220320012802042201460d00034020022000360204200220033602082002200341346a36020c200241086a200241046a10e801200341386a22032001470d000b0b200241106a240020000bad0101047f230041106b2202240002400240200120002802042203200028020022046b41386d22054d0d002000200120056b10e9010c010b200120054f0d00024020032004200141386c6a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f36020020012004472105200141486a210120050d000b0b200020043602040b200241106a24000b4d01037f230041106b2202240020002802002103200128020021042002410036020c20042002410c6a107c1a20042003200228020c10f501200128020020002802041091011a200241106a24000be40101057f230041206b2202240002400240024020002802082203200028020422046b41386d2001490d00034020044100413810011a2000200028020441386a22043602042001417f6a22010d000c020b0b2004200028020022056b41386d220620016a220441a592c9244f0d012002410c6a200320056b41386d220341017422052004200520044b1b41a492c92420034192c9a412491b2006200041086a10ea01220328020821040340200441004138100141386a21042001417f6a22010d000b200320043602082000200310eb01200310ec011a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141a592c9244f0d01200141386c102721040b2000200436020020002004200241386c6a220336020820002004200141386c6a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a10ed01200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f200010ee01024020002802002201450d00200110280b20000baf0101067f230041106b22042400024020022001460d00200241486a2102200328020021050340200541486a220641003a0000200641306a2207417f3602000240200241306a22082802002209417f460d002004410f6a20062002200941027441c0d5006a280200110300200720082802003602000b2005417c6a200241346a2f01003b01002003200328020041486a220536020020022001472106200241486a210220060d000b0b200441106a24000b7701057f230041106b2201240002402000280208220220002802042203460d0003402000200241486a22023602080240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a280200110200200028020821020b2004417f36020020022003470d000b0b200141106a24000b0b0020012002412110041a0b0b0020012002412110041a0b480020012002412210042201412c6a2002412c6a28020036020020012002290224370224200241246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b0b0020012002412110041a0b3c0020012002290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a2902003702000b130020012002290200370200200242003702000b7f01017f230041306b220324000240024020020d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441003602300c010b20002001200210f6010b200341306a24000b820101017f230041306b220324000240024020024101470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441013602300c010b20002001200210f7010b200341306a24000ba00201027f230041c0006b220324000240024020024102470d00200341386a410036020020034200370230412421022003410c6a41246a210403402003410c6a20026a4100360200200241046a22024130470d000b41002102034020002003410c6a20026a10761a200241016a22024121470d000b20002003412d6a10f801200410cd011a024020012802302202417f460d002003413f6a2001200241027441a8d5006a2802001102000b20012003410c6a412210042200412c6a200441086a280200360200200020042902003702244124210203402003410c6a20026a4100360200200241046a22024130470d000b2000410236023020032d0030410171450d01200341386a28020010280c010b20002001200210f9010b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b820101017f230041306b220324000240024020024103470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441033602300c010b20002001200210fa010b200341306a24000bbc0101017f230041306b220324000240024020024104470d0041002102034020002003410f6a20026a10761a200241016a22024120470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b2001200329000f37000020014104360230200141186a2003410f6a41186a290000370000200141106a2003410f6a41106a290000370000200141086a2003410f6a41086a2900003700000c010b20002001200210fb010b200341306a24000b840101017f230041106b220324000240024020024105470d00200342003702042000200341046a10fc011a024020012802302202417f460d002003410f6a2001200241027441a8d5006a2802001102000b200120032902043702002001410536023020034200370204200341046a10de011a0c010b410041f4d50010000b200341106a24000be30102037f017e230041106b220224002000200241086a10761a0240024020022d0008450d000240200128020022030d0041ec001027220341e0d500360200200342003702042003410c6a410041e000100121042001290200210520012004360200200120033602042002420037020020022005370208200241086a10de011a200210de011a200128020021030b4100210103402000200320016a10761a200141016a220141e000470d000c020b0b20012902002105200142003702002002420037020020022005370208200241086a10de011a200210de011a0b200241106a240020000b08002000103c10280b02000b0600200010280b800101057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f360200200241786a2104200241406a210220042003470d000b0b20002003360204200141106a24000be60101057f230041206b2202240002400240024020002802082203200028020422046b4106752001490d0003402004410041c00010011a2000200028020441c0006a22043602042001417f6a22010d000c020b0b2004200028020022056b410675220620016a220441808080204f0d012002410c6a200320056b220341057522052004200520044b1b41ffffff1f200341c0ffffff07491b2006200041086a1082022203280208210403402004410041c000100141c0006a21042001417f6a22010d000b200320043602082000200310830220031084021a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141808080204f0d012001410674102721040b200020043602002000200420024106746a22033602082000200420014106746a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a108502200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f2000108602024020002802002201450d00200110280b20000bb10101057f230041106b22042400024020022001460d00200241406a2102200328020021050340200541406a22052002290300370300200541386a2206417f360200200541086a220541003a00000240200241386a22072802002208417f460d002004410f6a2005200241086a200841027441c0d5006a280200110300200620072802003602000b2003200328020041406a220536020020022001472106200241406a210220060d000b0b200441106a24000b7e01067f230041106b2201240002402000280208220220002802042203460d0003402000200241406a22043602080240200441386a22052802002206417f460d002001410f6a200241486a200641027441a8d5006a280200110200200028020821040b2005417f3602002004210220042003470d000b0b200141106a24000bab040020001043024020012000520d00024002400240024002400240024002400240200242ffffff95cdebd4d942550d000240200242fffffffffff698d942550d0002402002428fa9d9d9dd8c99d6ba7f550d00200242808080e8b2edc0d38b7f510d032002428080f9d4a98499dc9a7f520d0a20012001106f0f0b20024290a9d9d9dd8c99d6ba7f510d0320024280808080daac9bd6ba7f520d09200120011092010f0b0240200242ffffffffd3c4a2d942550d002002428080808080f798d942510d042002428080b8f6a4979ad942520d0920012001107f0f0b20024280808080d4c4a2d942510d04200242f0aadf8bcde9add942520d0820012001108b010f0b0240200242ffffacd68db8baf154550d000240200242ffdfde8293fad6d942550d0020024280808096cdebd4d942510d0620024280808080b6f7d6d942520d0920012001107e0f0b20024280e0de8293fad6d942510d06200242808080c093fad6d942520d08200120011081010f0b0240200242ffffffcfb2b3bb9932550d002002428080add68db8baf154510d072002428080add68d959ba955520d082001200110710f0b02402002428080add68d95abd1ca00510d00200242808080d0b2b3bb9932520d08200120011093010f0b2001200110720f0b2001200110730f0b200120011095010f0b20012001107a0f0b2001200110750f0b20012001108e010f0b200120011086010f0b2001200110740f0b2001428080808080c0bad847510d0041004201101d0b0b0d00101e2000200120021087020b0be71606004180c0000b4a6661696c656420746f20616c6c6f6361746520706167657300656e636f756e7465726564206e6f6e2d62617365363420636861726163746572005055425f424c535f00000000000000000041cac0000bdf0200000000000030303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839396461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400000100000002000000030000000400000005000000060000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000700000008000000090000000a0000000b0000000c00000000000000000041a9c3000b81080000000000000000000000020000000300000005000000070000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d000000710000007f00000083000000890000008b00000095000000970000009d000000a3000000a7000000ad000000b3000000b5000000bf000000c1000000c5000000c7000000d3000000010000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d00000071000000790000007f00000083000000890000008b0000008f00000095000000970000009d000000a3000000a7000000a9000000ad000000b3000000b5000000bb000000bf000000c1000000c5000000c7000000d1000000404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e4040403f3435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f101112131415161718194040404040401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e40403435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f10111213141516171819404040403f401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132334040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404077726f6e6720656e636f64656420737472696e672073697a65005349475f424c535f00424c535f5349475f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f4e554c5f00424c535f504f505f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f504f505f0041aacb000b820800bbc622db0af03afbef1a7af93fe8556c58ac1b173f3a4ea105b974974f8c68c30faca94f8c63952694d79731a7d3f117cac239b9d6dc54ad1b75cb0eba386f4e3642accad5b95566c907b51def6a8167f2212ecfc8767daaa845d555681d4d116e756d626572206f662066696e616c697a657273206578636565647320746865206d6178696d756d20616c6c6f7765640072657175697265206174206c65617374206f6e652066696e616c697a6572005055425f424c53005349475f424c530046696e616c697a6572206465736372697074696f6e2067726561746572207468616e206d617820616c6c6f7765642073697a65007075626c6963206b65792073686f756c642073746172742077697468205055425f424c530070726f6f66206f6620706f7373657373696f6e207369676e61747572652073686f756c642073746172742077697468205349475f424c530073756d206f662077656967687473206361757365732075696e7436345f74206f766572666c6f77006475706c6963617465207075626c6963206b65790070726f6f66206f6620706f7373657373696f6e206661696c65640066696e616c697a657220706f6c696379207468726573686f6c64206d7573742062652067726561746572207468616e2068616c66206f66207468652073756d206f662074686520776569676874732c20616e64206c657373207468616e206f7220657175616c20746f207468652073756d206f66207468652077656967687473006665617475726520646967657374206163746976617465643a20000a0070726f746f636f6c2066656174757265206973206e6f7420616374697661746564004b5620777269746520726566757365640062655f6b65795f73747265616d3a206b657920746f6f206c61726765006461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400656e636f64656420626173653634206b657920697320746f6f2073686f72740062617365363420656e636f6465642074797065206d75737420626567696e2066726f6d20636f72726573706f6e64696e6720707265666978006465636f6465642073697a65200020646f65736e2774206d61746368207374727563747572652073697a652000202b20636865636b73756d2000636865636b73756d206f662073747275637475726520646f65736e2774206d6174636800982f8a4291443771cffbc0b5a5dbb5e95bc25639f111f159a4823f92d55e1cab98aa07d8015b8312be853124c37d0c55745dbe72feb1de80a706dc9b74f19bc1c1699be48647beefc69dc10fcca10c246f2ce92daa84744adca9b05cda88f97652513e986dc631a8c82703b0c77f59bff30be0c64791a7d55163ca0667292914850ab72738211b2e0041acd3000b8a03fc6d2c4d130d385354730a65bb0a6a762ec9c281852c7292a1e8bfa24b661aa8708b4bc2a3516cc719e892d1240699d685350ef470a06a1016c1a419086c371e4c774827b5bcb034b30c1c394aaad84e4fca9c5bf36f2e68ee828f746f63a5781478c8840802c78cfaffbe90eb6c50a4f7a3f9bef27871c67075626c6963206b65792068617320612077726f6e672073697a65006461746173747265616d20617474656d7074656420746f207265616420706173742074686520656e640048797065727669736f722072657475726e656420756e657870656374656420636f64652068617368207374727563742076657273696f6e00676574000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e00000000000000000000001f00000020000000210000002200000023000000696e76616c69642076617269616e7420696e64657800756e6578706563746564206572726f7220696e2066697865645f627974657320636f6e7374727563746f72000041000b04d02c000000000000000000000001d00f01bfc7020015c60416a8d0b028c656c7ab73b2ceaa8eaa38e74015fb07d7226189ed059b00030000000200000001000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f010000000000eab0c76460060000000000000000000000 -DMLOG CREATION_OP ROOT 0 -DMLOG RAM_OP 0 sysio abi update setabi sysio 421718 659 -DMLOG KV_OP INS 0 sysio sysio 49446 c7b0ea0000000000 0000000000eab0c7dc919dc4391cd1929b945d86c56783d446822966d3e0ea60d866af407b0bc56540a21bba992a060003000000 -DMLOG RAM_OP 0 sysio:49446:c7b0ea0000000000 table_row add primary_index_add sysio 421890 172 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":2,"value_ex":259167,"consumed":44784},"cpu_usage":{"last_ordinal":2,"value_ex":24307,"consumed":4101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 3 bb33b62cf7c7e5f204def46944c8291cb643c75867d1be895445b04913221dd5030000000200000001000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f0101d00fd00f0000000000000000310b00000000000001010000010000000000eab0c75007a082350e0a95e9340fa1b1ba8fc0d08a60b6b3952730ddc7196d0e86217204000000000000000400000000000000010000000000eab0c7040000000000000001010000000000eab0c70000000000eab0c700000000b863b2c2010000000000eab0c700000000a8ed3232ac150000000000eab0c7a2150e737973696f3a3a6162692f312e320117626c6f636b5f7369676e696e675f617574686f726974792276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f76301e086162695f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320b616269686173685f6b65790001056f776e65720675696e74363408616374697661746500010e666561747572655f6469676573740b636865636b73756d32353609617574686f726974790003097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d086163636f756e7473197065726d697373696f6e5f6c6576656c5f7765696768745b5d1a626c6f636b5f7369676e696e675f617574686f726974795f76300002097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d15626c6f636b636861696e5f706172616d65746572730013136d61785f626c6f636b5f6e65745f75736167650675696e7436341a7461726765745f626c6f636b5f6e65745f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6e65745f75736167650675696e743332106e65745f75736167655f6c65657761790675696e74333223636f6e746578745f667265655f646973636f756e745f6e65745f75736167655f6e756d0675696e74333223636f6e746578745f667265655f646973636f756e745f6e65745f75736167655f64656e0675696e743332136d61785f626c6f636b5f6370755f75736167650675696e7433321a7461726765745f626c6f636b5f6370755f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6370755f75736167650675696e743332196d696e5f7472616e73616374696f6e5f6370755f75736167650675696e743332186d61785f7472616e73616374696f6e5f6c69666574696d650675696e743332156d61785f7472616e73616374696f6e5f64656c61790675696e743332166d61785f696e6c696e655f616374696f6e5f73697a650675696e743332176d61785f696e6c696e655f616374696f6e5f64657074680675696e743136136d61785f617574686f726974795f64657074680675696e7431361c6d61785f616374696f6e5f72657475726e5f76616c75655f73697a650675696e7433320f6d61785f6b765f6b65795f73697a650675696e743332116d61785f6b765f76616c75655f73697a650675696e743332196d61785f6b765f7365636f6e646172795f6b65795f73697a650675696e74333209636f64655f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320c636f6465686173685f6b65790001056f776e65720675696e7436340a64656c657465617574680002076163636f756e74046e616d650a7065726d697373696f6e046e616d651366696e616c697a65725f617574686f7269747900040b6465736372697074696f6e06737472696e67067765696768740675696e7436340a7075626c69635f6b657906737472696e6703706f7006737472696e671066696e616c697a65725f706f6c6963790002097468726573686f6c640675696e7436340a66696e616c697a6572731566696e616c697a65725f617574686f726974795b5d0a6b65795f7765696768740002036b65790a7075626c69635f6b6579067765696768740675696e743136086c696e6b617574680004076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650b726571756972656d656e74046e616d650a6e65776163636f756e7400040763726561746f72046e616d65046e616d65046e616d65056f776e657209617574686f726974790661637469766509617574686f72697479107065726d697373696f6e5f6c6576656c0002056163746f72046e616d650a7065726d697373696f6e046e616d65177065726d697373696f6e5f6c6576656c5f77656967687400020a7065726d697373696f6e107065726d697373696f6e5f6c6576656c067765696768740675696e7431361270726f64756365725f617574686f7269747900020d70726f64756365725f6e616d65046e616d6509617574686f7269747917626c6f636b5f7369676e696e675f617574686f726974790c70726f64756365725f6b657900020d70726f64756365725f6e616d65046e616d6511626c6f636b5f7369676e696e675f6b65790a7075626c69635f6b65790c72657161637469766174656400010e666561747572655f6469676573740b636865636b73756d323536077265716175746800010466726f6d046e616d65067365746162690002076163636f756e74046e616d65036162690562797465730a736574616c696d6974730004076163636f756e74046e616d650972616d5f627974657305696e7436340a6e65745f77656967687405696e7436340a6370755f77656967687405696e74363407736574636f64650004076163636f756e74046e616d6506766d747970650575696e743809766d76657273696f6e0575696e743804636f64650562797465730c73657466696e616c697a657200011066696e616c697a65725f706f6c6963791066696e616c697a65725f706f6c69637909736574706172616d73000106706172616d7315626c6f636b636861696e5f706172616d657465727307736574707269760002076163636f756e74046e616d650769735f707269760575696e74380b73657470726f646b6579730001087363686564756c650e70726f64756365725f6b65795b5d0873657470726f64730001087363686564756c651470726f64756365725f617574686f726974795b5d0a756e6c696e6b617574680003076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650a757064617465617574680004076163636f756e74046e616d650a7065726d697373696f6e046e616d6506706172656e74046e616d65046175746809617574686f72697479100000002a9bed3232086163746976617465000040cbdaa8aca24a0a64656c65746561757468000000002d6b03a78b086c696e6b617574680000409e9a2264b89a0a6e65776163636f756e7400905436db6564acba0c72657161637469766174656400000000a0656dacba07726571617574680000000000b863b2c206736574616269000000ce4eba68b2c20a736574616c696d6974730000000040258ab2c207736574636f64650070d577d14cb7b2c20c73657466696e616c697a6572000000c0d25c53b3c209736574706172616d730000000060bb5bb3c207736574707269760000b05730d15bb3c20b73657470726f646b6579730000000038d15bb3c20873657470726f6473000040cbdac0e9e2d40a756e6c696e6b61757468000040cbdaa86c52d50a75706461746561757468000207616269686173680369363401056f776e6572010675696e743634086162695f6861736826c10008636f6465686173680369363401056f776e6572010675696e74363409636f64655f68617368aa3f00000000012276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f7630011a626c6f636b5f7369676e696e675f617574686f726974795f763000000000000000000000000001d00f01b11600bb33b62cf7c7e5f204def46944c8291cb643c75867d1be895445b04913221dd5030000000200000001000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f010000000000eab0c73f03000000000000000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":2,"value_ex":0,"consumed":0},"average_block_cpu_usage":{"last_ordinal":2,"value_ex":833334,"consumed":100},"pending_net_usage":44784,"pending_cpu_usage":4100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1049625,"virtual_cpu_limit":200200} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":3,"value_ex":373200000,"consumed":44784},"average_block_cpu_usage":{"last_ordinal":3,"value_ex":34993056,"consumed":4101},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1050675,"virtual_cpu_limit":200400} -DMLOG ACCEPTED_BLOCK_V2 000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f 3 1 020000000000000000eab0c70000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a1410b93a769c3d3593a65558f66846e88b167af62b4d20f19560e5c45bd501680000000000000000000000000000000000000000000000000000000000000000010000000000000001001fc9d16b84ea33f705c2da5d3dc34f1e5c1b9ef88546ff377c45a968eb73cbfb0f380d01ae06a4b8b7e1b542cdfdf994de69c269c54ea222dc41b3ca16f101fb5b0201d00f01001f739a4fe192a443b3d90c9e35843dbf1fd25e1b7a1bbf1931743965cc7eb1434b64356738aa478397644b1aec247f049db4a4c97a0dcd992300e264fdd783192e0000edc602868574670200247d62d500000000010000000000eab0c700000040258ab2c2010000000000eab0c700000000a8ed3232b9c6020000000000eab0c70000acc6020061736d0100000001e1012160000060017f0060027f7f0060037f7f7f0060037f7f7f017f60027f7f017e6000017e6000017f60017e0060037e7f7f0060077f7f7f7f7f7f7f017f60027e7f0060047e7e7e7e0060037e7f7f017e60017f017f60027f7f017f60077f7e7f7f7f7f7f017f60047f7f7f7f017f60067f7f7f7f7f7f017f60047e7f7f7f017f60027f7e0060047f7e7e7f0060057f7f7f7f7f017f60087f7f7f7f7f7f7f7f0060077f7f7f7f7f7f7f0060017d017d60047f7f7f7f0060037f7e7f0060047f7e7f7f0060027e7e0060067f7e7f7f7f7f017f60067f7f7f7f7f7f0060037e7e7e0002df041e03656e760c737973696f5f617373657274000203656e76066d656d736574000403656e76076d656d6d6f7665000403656e760561626f7274000003656e76066d656d637079000403656e7606736861323536000303656e7609726970656d64313630000303656e76207365745f626c6f636b636861696e5f706172616d65746572735f7061636b6564000203656e76167365745f70726f706f7365645f70726f647563657273000503656e760c63757272656e745f74696d65000603656e760d6765745f626c6f636b5f6e756d000703656e760c726571756972655f61757468000803656e760e7365745f66696e616c697a657273000903656e760b626c735f70616972696e67000a03656e760e7365745f70726976696c65676564000b03656e76137365745f7265736f757263655f6c696d697473000c03656e76197365745f70726f706f7365645f70726f6475636572735f6578000d03656e761370726561637469766174655f66656174757265000103656e76067072696e7473000103656e761469735f666561747572655f616374697661746564000e03656e7610616374696f6e5f646174615f73697a65000703656e7610726561645f616374696f6e5f64617461000f03656e76066b765f736574001003656e7614737973696f5f6173736572745f6d657373616765000303656e760a626c735f66705f6d6f64001103656e760a626c735f67325f6d6170001103656e760a626c735f67325f616464001203656e760d6765745f636f64655f68617368001303656e76087072696e74686578000203656e7611737973696f5f6173736572745f636f6465001403ed01eb010001010e0f0100040e0e010104150f0f010f16171802040f0211040402020e010f01030f0308010f02020206190e1a000f0100010001000100020100011b1c020203030f0f020e11020e030302020202021d0f1d1d1d1d1d0f1c1b1c1d0f0f021d1d0f1d0f0e02021d0f0e02021d0f0e1d0f0f0f1d1d031d141e020f0f0f0f1f030201010f0f02020f0f0f0f0f0f020f0f0303000f030202020202020f030f020f02020f0202020f1e020f020f02020f0211020e030101010e010202020202020e0211020e0f02030f02020211020e1a010303030303030303030f0303030f010101010211020e1a0120200405017001242405030100010616037f014180c0000b7f0041c8d9000b7f0041d0d9000b072e04066d656d6f727902000a5f5f646174615f656e6403010b5f5f686561705f626173650302056170706c790088020944010041010b23b401b501b601b701b801b901bd01bf01c001c201c301c4014f515355585ad801d901da01db01dc01dd01ef01f001f101f201f301f4013cfd01fe013eff010ae6a502eb0110001024104d105010521054105610590b0900200041013602000b0900200041003602000b7201037f024020000d0041000f0b410041002802c456200041107622016a22023602c456410041002802bc56220320006a410f6a41707122003602bc560240200241107420004b0d004100200241016a3602c456200141016a21010b024020014000417f470d0041004180c00010000b20030b8a0101037f0240200120006c22000d0041000f0b410041002802c456200041107622026a22033602c456410041002802bc56220120006a410f6a41707122043602bc560240200341107420044b0d004100200341016a3602c456200241016a21020b024020024000417f470d0041004180c00010000b024020010d0041000f0b20014100200010011a20010b02000b3601017f230041106b2200410036020c4100200028020c280200410f6a41707122003602b856410020003602bc5641003f003602c4560b990101037f41c8d600101f024041002802d05622030d0041d8d6002103410041d8d6003602d0560b0240024041002802d45622044120470d0002404184024101102222030d00417f21050c020b41002104200341002802d056360200410020033602d0560b410021054100200441016a3602d456200320044102746a22034184016a2001360200200341046a20003602000b41c8d600102020050bcc0101037f20002101024002402000410371450d00024020002d00000d00200020006b0f0b200041016a2201410371450d0020012d0000450d01200041026a2201410371450d0020012d0000450d01200041036a2201410371450d0020012d0000450d01200041046a22014103710d010b2001417c6a21022001417b6a21010340200141046a2101200241046a22022802002203417f73200341fffdfb776a7141808182847871450d000b0340200141016a210120022d00002103200241016a210220030d000b0b200120006b0b3601027f20004101200041014b1b2101024003402001102122000d014100210041002802dc582202450d0120021100000c000b0b20000b0600200010230b0600200010280b4901037f4100210302402002450d000240034020002d0000220420012d00002205470d01200141016a2101200041016a21002002417f6a22020d000c020b0b200420056b21030b20030b6a01017e4200210402400240200341ff004d0d00420021020c010b024020030d00200121040c010b02402003413f4b0d00200141c00020036bad8820022003ad220486842102200120048621040c010b2001200341406aad8621020b20002002370308200020043703000bf90101027f0240200041ffc1d72f4b0d0020012000102d0f0b200020004180c2d72f6e22024180c2d72f6c6b210302400240200041ff93ebdc034b0d00200120024130723a0000410121000c010b410221002001200241017441d0c0006a410210041a0b200120006a220020034190ce006e220141ffff037141e4006e220241017441d0c0006a410210041a200041026a2001200241e4006c6b41017441feff037141d0c0006a410210041a200041046a200320014190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041066a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041086a0bda0301027f02402001418fce004b0d000240200141e3004b0d000240200141094b0d00200020014130723a0000200041016a0f0b2000200141017441d0c0006a410210041a200041026a0f0b200141ffff0371220241e4006e21030240200141e7074b0d00200020034130723a0000200041016a200241e4007041017441d0c0006a410210041a200041036a0f0b2000200341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0f0b20014190ce006e210302400240200141bf843d4b0d0002402001419f8d064b0d00200020034130723a0000410121020c020b410221022000200341017441d0c0006a410210041a0c010b0240200141fface2044b0d002000200341ffff037141e4006e22024130723a0000200041016a2003200241e4006c6b41017441feff037141d0c0006a410210041a410321020c010b2000200141c0843d6e41017441d0c0006a410210041a200041026a200341e4007041017441d0c0006a410210041a410421020b200020026a2200200120034190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0b05001003000bbb0101037f20004200370200200041086a22024100360200024020012d00004101710d00200020012902003702002002200141086a28020036020020000f0b02402001280204220241704f0d00200128020821030240024002402002410b490d002002410f72220441016a10272101200020023602042000200441026a360200200020013602080c010b200020024101743a0000200041016a21012002450d010b20012003200210041a0b200120026a41003a000020000f0b1003000bc50101047f20004200370200200041086a41003602000240200128020420012d00002205410176200541017122061b22052002490d00200520026b2205200320052003491b220341704f0d00200128020821070240024002402003410b490d002003410f72220841016a10272105200020033602042000200841026a360200200020053602080c010b200020034101743a0000200041016a21052003450d010b20052007200141016a20061b20026a200310041a0b200520036a41003a000020000f0b1003000bfc0101047f0240416e20016b2002490d00200041016a210820002d000041017121092000280208210a416f210b0240200141e6ffffff074b0d00410b200220016a22022001410174220b2002200b4b1b2202410f7241016a2002410b491b210b0b200a200820091b2108200b1027210202402004450d0020022008200410041a0b02402006450d00200220046a2007200610041a0b2003200520046a220a6b210902402003200a460d00200220046a20066a200820046a20056a200910041a0b02402001410a460d00200810280b200020023602082000200b4101723602002000200620046a20096a2204360204200220046a41003a00000f0b1003000bcb0101047f416f21070240416f20016b2002490d00200041016a210820002d000041017121092000280208210a0240200141e6ffffff074b0d00410b200220016a220720014101742202200720024b1b2207410f7241016a2007410b491b21070b200a200820091b210820071027210202402004450d0020022008200410041a0b02402003200520046a2209460d00200220046a20066a200820046a20056a200320096b10041a0b02402001410a460d00200810280b20002002360208200020074101723602000f0b1003000b820201067f0240200141704f0d00024020002d0000220220002802002203417e71417f6a2000280204200341017641ff007120034101711b22032001200320014b1b2201410f72220446712002410171452001410a4b22021b0d000240024020020d0041012102200041016a210520002802082106200321070c010b200441016a10272105200028020420002d00002202410176200241017122021b21072000280208200041016a20021b21060b0240200741016a2207450d0020052006200710041a0b02402002450d00200610280b02402001410b490d0020002005360208200020033602042000200441026a3602000f0b200020034101743a00000b0f0b1003000bb20101037f0240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000bb80101047f2001102621020240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000ba20101037f0240024002400240024020002d000022024101710d00410a2103410a210420024114460d01200241017621030c020b200028020422032000280200417e71417f6a2204470d020b2000200441012004200441004100103220002d00004101710d010b2000200341017441026a3a0000200041016a21000c010b2000200341016a360204200028020821000b200020036a220041003a0001200020013a00000bf80101037f0240200028020420002d00002204410176200441017122051b22042001490d000240024020002802002206417e71417f6a410a20051b220520046b2003490d002003450d012000280208200041016a20064101711b2105024020042001460d00200520016a220620036a2006200420016b10021a200220034100200520046a20024b1b4100200620024d1b6a21020b200520016a2002200310021a200420036a21030240024020002d0000410171450d00200020033602040c010b200020034101743a00000b200520036a41003a000020000f0b20002005200420036a20056b2004200141002003200210310b20000f0b1003000b0e002000200120022002102610370baa0101057f0240200028020420002d00002203410176200341017122041b22052001490d0002402002450d00200520016b2206200220062002491b21072000280208200041016a20041b21040240200620024d0d00200420016a2202200220076a200620076b10021a20002d000021030b200520076b2102024002402003410171450d00200020023602040c010b200020024101743a00000b200420026a41003a00000b20000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b040020000b2801017f0240200028020822010d00200020002802002802101101000f0b20002001417f6a3602080b040041000b05001003000b2301017f230041206b2203240020012002200310052000200310411a200341206a24000bbd0301057e200131000f2102200131000e2103200131000d2104200020013100002205423886200542108620013100014208868420013100028442108620013100034208868420013100048442108620013100054208868420013100068422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131000742088684200131000884421086200131000942088684200131000a84421086200131000b42088684200131000c8442108622054238888437030820002002200320052004420886848442088684370300200131001f2102200131001e2103200131001d2104200041186a20013100102205423886200542108620013100114208868420013100128442108620013100134208868420013100148442108620013100154208868420013100168422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131001742088684200131001884421086200131001942088684200131001a84421086200131001b42088684200131001c844210862205423888843703002000200220032005200442088684844208868437031020000bed0102017f017e230041206b220324002001200220031006200020033100014208862003310000421086842003310002844228862003310005420886200331000684200331000342188620033100044210868484420886842003310009420886200331000a842003310007421886200331000842108684844220862204423888843703082000200331000d420886200331000e842004200331000b421886200331000c421086848484420886200331000f84370300200041186a200331001142088620033100104210868420033100128442288620033100134220868437030020004200370310200341206a24000b0a00410020003703e0580b5101017f230041e0006b220124002001200141e0006a36020c2001200141106a3602082001200141106a360204200141046a200010451a200141106a200128020820012802046b1007200141e0006a24000b9b0901027f02402000280208200028020422026b41074a0d0041004198c2001000200028020421020b20022001410810041a2000200028020441086a2202360204200141086a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001410c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141106a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141146a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141186a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001411c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141206a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141246a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141286a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001412c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141306a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141346a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141386a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a22023602042001413a6a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a22023602042001413c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141c0006a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141c4006a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602040240200028020820026b41034a0d0041004198c2001000200028020421020b2002200141c8006a410410041a2000200028020441046a36020420000b7402017f017e230041106b22022400200241046a200110470240024020022802042201200228020820016b100822034200530d0020002003370300410121010c010b41002101200041003a00000b200020013a0008024020022802042200450d0020022000360208200010280b200241106a24000baa0403047f017e027f230041206b2202240041002103200041003602082000420037020020012802042204200128020022056b410675ad21060340200341016a2103200642ff005621072006420788210620070d000b2002200336021402400240024020052004470d0041002107410021050c010b0340200228021441086a2107200541386a2802002208ad21060340200741016a2107200642ff005621032006420788210620030d000b200220073602142002200241146a3602182008417f460d02200841027441c4c2006a28020021072002200241186a360208200241086a200541086a2007110200200541c0006a22052004470d000b2000280200210720002802042105200228021421030b024002402003200520076b22084d0d002000200320086b10a40120002802002107200028020421050c010b200320084f0d002000200720036a22053602040b2002200736020c2002200736020820022007200520076b6a360210200128020420012802006b410675ad2106034020022006a741ff0071200642ff00562203410774723a00180240200228021020076b41004a0d0041004198c20010000b200642078821062007200241186a410110041a2002200228020c41016a220736020c20030d000b02402001280200220720012802042203460d0003402002200241086a360214200220073602182002200741086a36021c200241186a200241146a1048200741c0006a22072003470d000b0b200241206a24000f0b10b101000b930202047f017e230041106b2202240020002802002103024020012802002204280208200428020422056b41074a0d0041004198c2001000200428020421050b20052003410810041a2004200428020441086a360204200028020422053502302106200128020022042802042101034020022006a741ff0071200642ff00562200410774723a000b0240200428020820016b41004a0d0041004198c2001000200428020421010b2006420788210620012002410b6a410110041a2004200428020441016a220136020420000d000b20022004360204024020052802302204417f470d0010b101000b200441027441f4c2006a28020021042002200241046a36020c2002410c6a20052004110200200241106a24000b040010090b930101047f230041106b210102402000bc220241177641ff017122034195014b0d000240200341ff00490d0041ffffff03200341817f6a2203762204200271450d0120012000430000807b9238020c4100200420024100481b20026a418080807c20037571be0f0b20012000430000807b923802080240200241004e0d0043000000800f0b430000803f200020021b21000b20000bfb0e01067f02400240200041d3014b0d004130210141b0c300210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200228020021020c010b02402000417c4f0d002000200041d2016e220541d2016c22066b21004130210141f0c400210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200241f0c4006b41027521000340200041027441f0c4006a28020020066a210241d87e2101024003402002200141ecc4006a28020022036e22042003490d042002200420036c460d012002200141f0c4006a28020022036e22042003490d042002200420036c460d01200141086a22010d000b41a303210103402002200141b07e6a22036e22042003490d042002200420036c460d012002200141ba7e6a22046e22062003410a6a2203490d042002200620046c460d012002200141bc7e6a22046e2206200341026a2203490d042002200620046c460d012002200141c07e6a22046e2206200341046a2203490d042002200620046c460d012002200141c27e6a22046e2206200341026a2203490d042002200620046c460d012002200141c67e6a22046e2206200341046a2203490d042002200620046c460d012002200141cc7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ce7e6a22046e2206200341026a2203490d042002200620046c460d012002200141d47e6a22046e2206200341066a2203490d042002200620046c460d012002200141d87e6a22046e2206200341046a2203490d042002200620046c460d012002200141da7e6a22046e2206200341026a2203490d042002200620046c460d012002200141de7e6a22046e2206200341046a2203490d042002200620046c460d012002200141e47e6a22046e2206200341066a2203490d042002200620046c460d012002200141ea7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ec7e6a22046e2206200341026a2203490d042002200620046c460d012002200141f27e6a22046e2206200341066a2203490d042002200620046c460d012002200141f67e6a22046e2206200341046a2203490d042002200620046c460d012002200141f87e6a22046e2206200341026a2203490d042002200620046c460d012002200141fe7e6a22046e2206200341066a2203490d042002200620046c460d012002200141827f6a22046e2206200341046a2203490d042002200620046c460d012002200141887f6a22046e2206200341066a2203490d042002200620046c460d012002200141907f6a22046e2206200341086a2203490d042002200620046c460d012002200141947f6a22046e2206200341046a2203490d042002200620046c460d012002200141967f6a22046e2206200341026a2203490d042002200620046c460d0120022001419a7f6a22046e2206200341046a2203490d042002200620046c460d0120022001419c7f6a22046e2206200341026a2203490d042002200620046c460d012002200141a07f6a22046e2206200341046a2203490d042002200620046c460d012002200141a87f6a22046e2206200341086a2203490d042002200620046c460d012002200141ae7f6a22046e2206200341066a2203490d042002200620046c460d012002200141b27f6a22046e2206200341046a2203490d042002200620046c460d012002200141b87f6a22046e2206200341066a2203490d042002200620046c460d012002200141ba7f6a22046e2206200341026a2203490d042002200620046c460d012002200141be7f6a22046e2206200341046a2203490d042002200620046c460d012002200141446a22046e2206200341066a2203490d042002200620046c460d012002200141466a22046e2206200341026a2203490d042002200620046c460d0120022001414c6a22046e2206200341066a2203490d042002200620046c460d012002200141526a22046e2206200341066a2203490d042002200620046c460d012002200141566a22046e2206200341046a2203490d042002200620046c460d012002200141586a22046e2206200341026a2203490d042002200620046c460d0120022001415c6a22046e2206200341046a2203490d042002200620046c460d012002200141626a22046e2206200341066a2203490d042002200620046c460d012002200141646a22046e2206200341026a2203490d042002200620046c460d0120022001416a6a22046e2206200341066a2203490d042002200620046c460d0120022001416e6a22046e2206200341046a2203490d042002200620046c460d012002200141706a22046e2206200341026a2203490d042002200620046c460d012002200141746a22046e2206200341046a2203490d042002200620046c460d012002200141766a22046e2206200341026a2203490d042002200620046c460d01200220016e22042003410a6a490d04200420016c2103200141d2016a210120022003470d000b0b4100200041016a2202200241304622021b2100200520026a220541d2016c21060c000b0b1003000b20020bc20801097f230041206b220424000240024002400240200128020422050d0020004200370200200041086a41003602000c010b02402002450d00200441186a410036020020044200370310200541704f0d0220012802002102024002402005410b490d002005410f72220641016a10272101200420053602142004200641026a360210200420013602180c010b200420054101743a0010200441106a41017221010b20012002200510041a200120056a41003a000020042802182207200441106a410172220820042d0010220141017122021b2206200428021422092001410176220a20021b220b6a210c2006210102400240200b450d00200b210520062101034020012d0000410a460d01200141016a21012005417f6a22050d000b200c21010c010b2001200c460d00200141016a2205200c460d002006200b6a220220016b417e6a210b024020022001417f736a4103712202450d000340024020052d00002206410a460d00200120063a0000200141016a21010b200541016a21052002417f6a22020d000b0b0240200b4103490d000340024020052d00002202410a460d00200120023a0000200141016a21010b024020052d00012202410a460d00200120023a0000200141016a21010b024020052d00022202410a460d00200120023a0000200141016a21010b024020052d00032202410a460d00200120023a0000200141016a21010b200541046a2205200c470d000b0b20042d00102205410176210a2005410171210220042802142109200428021821070b200441106a20012007200820021b22056b20052009200a20021b6a20016b10391a2004200428021420042d00102201410176200141017122011b36020c20042004280218200820011b360208200420042902083703002000200441002003104c20042d0010410171450d01200428021810280c010b20004200370200200041086a41003602002000200541027641036c10332001280200210b410021010340200141016a20054f0d03024020034108742206200b20016a220241016a2d00007241b0c6006a2d0000220c41c000470d0041004199c00010000b0240200620022d00007241b0c6006a2d0000220841c000470d0041004199c00010000b20002008411a74200c4114744180808018717241187510360240200141026a20054f0d000240200241026a2d0000220841526a0e1001000000000000000000000000000001000b0240200620087241b0c6006a2d0000220841c000470d0041004199c00010000b2000200c411c74200841167441808080f80071724118751036200141036a20054f0d000240200241036a2d0000220241526a0e1001000000000000000000000000000001000b2008410674210c0240200620027241b0c6006a2d0000220241c000470d0041004199c00010000b20002002200c6a41187441187510360b200141046a22012005490d000b0b200441206a24000f0b200441106a102e000b410041b0ca0010001003000b2e00024041002d00f4584101710d00410041013a00f45841e8d80041bac000104e1a410d41004180c00010251a0b0b8c0101037f20004200370200200041086a4100360200024020011026220241704f0d000240024002402002410b490d002002410f72220341016a10272104200020023602042000200341026a360200200020043602080c010b200020024101743a0000200041016a21042002450d010b20042001200210041a0b200420026a41003a000020000f0b2000102e000b1900024041002d00e858410171450d0041002802f05810280b0b2e00024041002d0084594101710d00410041013a00845941f8d80041caca00104e1a410e41004180c00010251a0b0b1900024041002d00f858410171450d0041002802805910280b0b2e00024041002d0094594101710d00410041013a0094594188d90041d3ca00104e1a410f41004180c00010251a0b0b1900024041002d008859410171450d0041002802905910280b0b2e00024041002d00a4594101710d00410041013a00a4594198d90041ffca00104e1a411041004180c00010251a0b0b1900024041002d009859410171450d0041002802a05910280b0b7b01027f230041e0006b22002400024041002d00b4594101710d00410041013a00b459200041abcb0041e00010042101410042003702a859410041003602b05941a8d90041e000105741002802ac59200141e00010041a410041002802ac5941e0006a3602ac59411141004180c00010251a0b200041e0006a24000b2f01017f02402001417f4a0d002000103f000b2000200110272202360200200020023602042000200220016a3602080b1e01017f024041002802a8592201450d00410020013602ac59200110280b0b6e01027f024041002d00c4594101710d00410041013a00c459410041c004102722003602b8594100200041c0046a3602c059410021010340200020016a41003a0000200141016a220141c004470d000b200041013a00004100200020016a3602bc59411241004180c00010251a0b0b1e01017f024041002802b8592201450d00410020013602bc59200110280b0bae0102017f017e23004180016b2203240020002903002104200341e0006a20022802002200200228020420006b1040200342003703582003200437035020032001370348200341186a2003290368370300200341206a200341f0006a290300370300200341286a200341e0006a41186a2903003703002003200137030020032003290360370310200310493703302003100a360238200341d0006a2001200341c8006a2003105c20034180016a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c0220034100109701450d0041004194d00010000b20044190026a24000bbb1407027f017e0e7f017e027f027d067f23004190036b220224002000290300100b02402001410c6a2802002200200128020822036b41306d41818004490d004100418bcc00100020012802082103200128020c21000b024020002003470d00410041bccc00100020012802082103200128020c21000b20024188036a4100360200420021042002420037038003200220012903003703f802200241f8026a41086a2205200020036b41306d105e200241ec026a41dbcc00104e2106200241e0026a41e3cc00104e2107200241808080fc033602dc02200242003702d402200242003702cc02024020012802082208200128020c2209460d00200241cc026a41086a210a200741016a210b200641016a210c2002412c6a410172210d2002412c6a410172210e420021040340024020082d0000410171450d002008280204418102490d00410041ebcc0010000b2002412c6a200841186a22004100200628020420062d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200628020420062d00002200410176200041017122001b470d002006280208200c20001b2100024020030d00200e210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b4100419fcd0010000b0240200f2d0000410171450d00200228023410280b2002412c6a200841246a22004100200728020420072d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200728020420072d00002200410176200041017122001b470d002007280208200b20001b2100024020030d00200d210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b410041c4cd0010000b0240200f2d0000410171450d00200228023410280b0240200829031022132004427f85580d00410041fccd001000200829031021130b200241ec016a200841206a280200200841196a20082d0018220041017122031b2008411c6a280200200041017620031b105f2002410036022c2002412c6a200241ec016a410410041a200228022c211002400240024020022802d0022212450d000240024020126941014b22110d002012417f6a201071210f0c010b2010210f20102012490d002010201270210f0b20022802cc02200f4102746a2802002200450d002012417f6a2114034020002802002200450d010240200028020422032010460d000240024020110d00200320147121030c010b20032012490d00200320127021030b2003200f470d020b200041086a200241ec016a41e000102a0d000b410041a4ce0010000c010b41e8001027221541086a200241ec016a41e00010041a201541003602002015201036020420022a02dc02211620022802d80241016ab32117024002402012450d0020162012b39420175d450d010b2012410174201241034920122012417f6a7141004772722100024002402017201695104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b41022118024020002003200020034b1b22004101460d00024020002000417f6a710d00200021180c010b2000104b21180b024002400240201820022802d00222004b0d00201820004f0d02200041034921120240024020022802d802b320022a02dc0295104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b0240024020120d0020006941014b0d002003410141202003417f6a676b7420034102491b21030c010b2003104b21030b20182003201820034b1b221820004f0d022018450d010b20184180808080044f0d0420184102741027210320022802cc022100200220033602cc0202402000450d00200010280b200220183602d0024100210020182103034020022802cc0220006a4100360200200041046a21002003417f6a22030d000b20022802d4022214450d01201428020421190240024020186941014b221a0d0020192018417f6a7121190c010b20192018490d00201920187021190b20022802cc0220194102746a200a3602002014280200220f450d012018417f6a211b0340200f280204210002400240201a0d002000201b7121000c010b20002018490d00200020187021000b0240024020002019470d00200f21140c010b02400240024020022802cc022000410274221c6a2203280200450d004100211d200f28020022120d01200f21030c020b20032014360200200f2114200021190c020b200f41086a2111200f210303402011201241086a41e000102a21122003280200210002402012450d002000211d0c020b20002103200028020022120d000b200021030b2014201d360200200320022802cc02201c6a28020028020036020020022802cc02201c6a280200200f3602000b2014280200220f0d000c020b0b20022802cc022100200241003602cc0202402000450d00200010280b200241003602d0020b024020022802d00222122012417f6a2200710d002000201071210f0c010b0240201020124f0d002010210f0c010b2010201270210f0b02400240024020022802cc02200f4102746a220328020022000d00201520022802d402360200200220153602d4022003200a36020020152802002200450d02200028020421000240024020122012417f6a2203710d00200020037121000c010b20002012490d00200020127021000b20022802cc0220004102746a21000c010b201520002802003602000b200020153602000b200220022802d80241016a3602d8020b2002412c6a2008412c6a280200200841256a20082d0024220041017122031b200841286a280200200041017620031b10600240200241ec016a2002412c6a10610d00410041b9ce0010000b41e00010272200200241ec016a41e00010041a20022008102f21032002200041e0006a22123602202002201236021c20022000360218200220082903103703102005200310621a024020022802182200450d002002200036021c200010280b024020032d0000410171450d00200228020810280b201320047c2104200841306a22082009470d010c020b0b1003000b02400240200420012903002213540d0020132004420188560d010b410041d4ce0010000b024020022802800322002002280284032203460d00034002402000411c6a280200200041186a2802006b41e000460d00410041a4d40010000b200041286a22002003470d000b0b2002412c6a200241f8026a10634200200228022c2200200228023020006b100c0240200228022c2200450d0020022000360230200010280b024020022802d4022200450d00034020002802002103200010282003210020030d000b0b20022802cc022100200241003602cc0202402000450d00200010280b024020072d0000410171450d00200728020810280b024020062d0000410171450d00200628020810280b200510641a20024190036a24000b5001027f230041206b2202240002402000280208200028020022036b41286d20014f0d0020002002410c6a2001200028020420036b41286d200041086a106522011066200110671a0b200241206a24000b990902047f027e230041a0016b22032400024041002802ec58220441002d00e85822054101762206200541017122051b2002490d00410041edd000100041002d00e858220541017621062005410171210541002802ec5821040b0240200141002802f05841e9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802ec5841002d00e858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41e000103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141e400460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041e0001042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000b990902047f027e230041a0016b22032400024041002802fc58220441002d00f85822054101762206200541017122051b2002490d00410041edd000100041002d00f858220541017621062005410171210541002802fc5821040b0240200141002802805941f9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802fc5841002d00f858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41c001103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141c401460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041c0011042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000beb0101037f23004190096b2202240041002103200241d0076a410041c00110011a200241d0046a410041800310011a200241d0076a41002802a859220441002802ac5920046b10041a200241d0046a200141c00110041a200241d0076a41e0006a200041e00010041a200241e0003602cc04200220003602c804200220022902c80437030020024198d900200241d0046a41c0016a1068200241086a410041c00410011a0240200241d0076a41c001200241d0046a4180034102200241086a41c004100d0d00200241086a41002802b859220041002802bc5920006b102a4521030b20024190096a240020030bcf0101067f230041206b22022400200041086a210302400240024020002802042204200028020822054f0d0020032004200110692000200028020441286a22033602040c010b2004200028020022066b41286d220741016a220441e7cc99334f0d0120032002410c6a200520066b41286d220541017422062004200620044b1b41e6cc9933200541b3e6cc19491b2007200310652204280208200110692004200428020841286a360208200020041066200410671a200028020421030b200241206a2400200341586a0f0b2000103f000b6f01027f230041106b22022400200041003602082000420037020020024108360204200241046a200141086a220310a2011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a2001109a01200310a3011a200241106a24000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341586a220310ac0120032001470d000b200028020021020b20002001360204200210280b20000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141e7cc99334f0d01200141286c102721040b2000200436020020002004200241286c6a220336020820002004200141286c6a36020c2000200336020420000f0b1003000b9e0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241586a200341586a220310692001200128020441586a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d401024020002802002201450d00200110280b20000be10301027f230041a0066b22032400200341a0046a418002200028020020002802042001280208200141016a20012d0000220041017122041b2001280204200041017620041b109d01410021010340200341c0016a20016a200341a0046a2001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a413010181a200341a0046a41c0006a2100410021010340200341c0016a20016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a41306a2204413010181a20034180036a41e000200341c0016a41c00110191a200341a0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c00020034180036a413010181a200341e0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c0002004413010181a20034180036a41e000200341c00110191a200341c0016a41c001200341c001200241c001101a1a200341a0066a24000b8f0101017f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b200141003602182001411c6a220342003702002001200228021836021820032002411c6a280200360200200141206a200241206a22032802003602002001200229031037031020034100360200200242003703180b5001017f230041106b220224002000290300100b200241046a2001106b420120022802042200200228020820006b10101a024020022802042200450d0020022000360208200010280b200241106a24000b6501017f230041106b22022400200041003602082000420037020020024100360204200241046a200110ad011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a200110ae011a200241106a24000b970102047f027e230041206b220224002000290300100b2002210341022104200121050340200541086a290300210620052903002107410f21000340200320006a20073c000020074208882006423886842107200642088821062000417f6a2200417f470d000b200541106a2105200341106a21032004417f6a22040d000b2002101141d5cf001012200141f0cf00106d200241206a24000b860103037f027e017f230041206b2202240020022103410221040340200041086a290300210520002903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200041106a2100200341106a21032004417f6a22040d000b20024120101c20011012200241206a24000b8d0103037f027e017f230041206b2202240020022103410221040340200141086a290300210520012903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200141106a2101200341106a21032004417f6a22040d000b0240200210130d00410041f2cf0010000b200241206a24000ba70101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a20034200370300200341146a200310701a02402004418004490d002002450d00200210230b200341206a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000bef0101047f230041c0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b2003413c6a2205200220046a360200200320023602382003200236023420034200370328200341346a200341286a10701a200341346a200341276a10761a200341346a200341266a10761a200341186a20052802003602002003200329023437031020032001370308200320003703002003200329032820032d002720032d0026107702402004418004490d002002450d00200210230b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b6602017f017e230041e0006b220424002000290300210520044200370358200420053703502004200137034820042001370300200441106a200141001078200410493703302004100a360238200441d0006a2001200441c8006a20041079200441e0006a24000b810201047f230041106b2203210420032400024020020d00200341406a2202220324000b200341406a22032400024020014100200341c000101b220541c100490d002001410020051021220341c000101b1a0b200441003602002004200341c0006a220636020c2004200336020820042003360204200441046a2004107c1a02402004280200450d00410041ead40010000b2004200636020c2004200336020820042003360204200441046a200210c5011a0240200541c100490d00200310230b20002002290310370300200041186a200241286a290300370300200041106a200241206a290300370300200041086a200241186a290300370300200441106a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c022003410010c601450d0041004194d00010000b20044190026a24000b850201047f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341cc006a2202200420056a360200200320043602482003200436024420034200370338200341c4006a200341386a10701a200341003602342003420037022c200341c4006a2003412c6a107b1a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a20032903382003412c6a105b0240200328022c2202450d0020032002360230200210280b02402005418004490d002004450d00200410230b200341d0006a24000b7701037f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c107d02402000280208200028020422036b2001280204200128020022046b22014f0d00410041c0d4001000200028020421030b20042003200110041a2000200028020420016a360204200241106a240020000b7401047f2000280204210241002103410021040340024020022000280208490d00410041a2d5001000200028020421020b20022c000021052000200241016a2202360204200541ff0071200441ff01712204742003722103200441076a21042002210220054100480d000b2001200336020020000b3a01027f024020012000280204200028020022026b22034d0d002000200120036b10a4010f0b0240200120034f0d002000200220016a3602040b0bbc0102047f017e230041206b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c20034200370308200341146a200341086a10701a200341146a200341076a10761a2003290308210620032d000721022000100b20062002410047100e02402005418004490d002004450d00200410230b200341206a24000be90102037f047e230041306b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360228200320023602242003200220046a36022c20034200370318200341246a200341186a10701a200341246a200341106a1080011a200341246a200341086a1080011a200341246a20031080011a200329030021052003290308210620032903102107200329031821082000100b2008200720062005100f02402004418004490d002002450d00200210230b200341306a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000bdb0101047f230041c0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b2003413c6a2202200420056a36020020032004360238200320043602342003410036023020034200370228200341346a200341286a1082011a200341206a2002280200360200200320032902343703182003200137031020032000370308200341086a200341286a106a200341286a1083011a02402005418004490d002004450d00200410230b200341c0006a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010840102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108501200341206a22032001470d000b0b200241106a240020000b1b0002402000280200450d00200010d501200028020010280b20000b8c0101037f0240200120002802042202200028020022036b41057522044d0d002000200120046b10df010f0b0240200120044f0d0002402002200320014105746a2203460d002002416c6a2101034002402001410c6a2204280200417f460d00200110d6011a0b2004417f360200200141746a2104200141606a210120042003470d000b0b200020033602040b0b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10e501200241106a24000bb30101047f230041306b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c2003410036021020034200370208200341146a200341086a1087011a2000100b200341206a200341086a1046200341086a1088011a02402005418004490d002004450d00200410230b200341306a24000b7701027f230041106b220224002002410036020020002002107c1a2001200228020010890102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108a01200341c0006a22032001470d000b0b200241106a240020000b1b0002402000280200450d002000108002200028020010280b20000bb00101047f230041106b2202240002400240200120002802042203200028020022046b41067522054d0d002000200120056b1081020c010b200120054f0d0002402003200420014106746a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f360200200141786a2105200141406a210120052004470d000b0b200020043602040b200241106a24000b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10f501200241106a24000bf30101057f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341c4006a41086a2202200420056a3602002003200436024820032004360244200341386a41003602002003420037033020034200370328200341c4006a200341286a1070200341286a41086a2206108c011a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a200341286a105d2006108d011a02402005418004490d002004450d00200410230b200341d0006a24000b5c01027f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c10c90102402001280200220320012802042201460d0003402000200310ca011a200341306a22032001470d000b0b200241106a240020000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341506a220310cc0120032001470d000b200028020021020b20002001360204200210280b20000b980101037f230041e0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360258200320023602542003200220046a36025c200341d4006a2003108f011a2000100b2003104402402004418004490d002002450d00200210230b200341e0006a24000b9b0100200020011070200141086a1090012001410c6a109001200141106a109001200141146a109001200141186a1090012001411c6a109001200141206a109001200141246a109001200141286a1090012001412c6a109001200141306a109001200141346a109001200141386a1091012001413a6a1091012001413c6a109001200141c0006a109001200141c4006a109001200141c8006a1090010b4001017f02402000280208200028020422026b41034b0d00410041c0d4001000200028020421020b20012002410410041a2000200028020441046a36020420000b4001017f02402000280208200028020422026b41014b0d00410041c0d4001000200028020421020b20012002410210041a2000200028020441026a36020420000b9d0101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a2003290308100b02402004418004490d002002450d00200210230b200341206a24000ba00201047f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a4200370300200342003703082003420037030041002102200421050c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a42003703002003420037030820034200370300200220046a21052004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a2003109401200341386a2005360200200341346a200241206a360200200320023602302003200137032820032000370320200341206a2003106c02402004418004490d002002450d00200210230b200341c0006a24000be20104017f017e017f027e230041106b22032400024020002001460d0042002104411021054200210603400240024020054102490d00200642088620044238888421062005417f6a2105200420003100008442088621040c010b024020054101460d004100418ad60010000b20003100002107200220063703082002200420078437030041102105200241106a210242002104420021060b200041016a22002001470d000b20054110460d00200320042006200541037441786a4100200541014b1b102b2002200341086a290300370308200220032903003703000b200341106a24000be60101037f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a42003703002003420037030820034200370300410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a420037030020034200370308200342003703002004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a200310940120032003106e02402004418004490d002002450d00200210230b200341c0006a24000b6201027f0240200028028002220241086a418102490d00410041a5d000100020002802800221020b200020026a2103410721020340200320026a20013c0000200142088821012002417f6a2202417f470d000b200020002802800241086a360280020b5001017f23004190026b22062400200641046a200410980141a68203200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a3602082002200036020420022000360200200220011099011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41034a0d00410041c2d0001000200028020421020b20022001410410041a2000200028020441046a36020420000bb00401047f23004180036b220624000240200141e03f4b0d00200541ff014a0d00200641c0026a410041c00010011a200620053a00bf02200641003a00be02200620013a00bd02200620014108763a00bc0220064188026a42abb38ffc91a3b3f0db0037030020064180026a42ffa4b988c591da829b7f370300200641f8016a42f2e6bbe3a3a7fda7a57f370300200642e7cca7d0d6d0ebb3bb7f3703f001200642003703e801200641003602e001200641a0016a200641c0026a41c000109e01200641a0016a20022003109e01200641a0016a200641bc026a4103109e01200641a0016a20042005109e01200641a0016a200641bc026a41036a22074101109e01200641a0016a20064190026a109f01200641f0006a4100412110011a2001411f6a22034120490d0020034105762108200041606a2109410121000340410021030340200641f0006a20036a220220022d000020064190026a20036a2d0000733a0000200341016a22034120470d000b200620003a009001200642abb38ffc91a3b3f0db00370368200642ffa4b988c591da829b7f370360200642f2e6bbe3a3a7fda7a57f370358200642e7cca7d0d6d0ebb3bb7f37035020064200370348200641003602402006200641f0006a4121109e01200620042005109e01200620074101109e012006200641f0006a109f012009200041057422036a200641f0006a200120036b2203411f7520037141206a10041a20002008462103200041016a21002003450d000b0b20064180036a24000b6f01027f02402002450d0020002802402103034020012d000021042000200341016a360240200020036a20043a000002402000280240220341c000470d00200010a0014100210320004100360240200020002903484280047c3703480b200141016a21012002417f6a22020d000b0b0b5b01037f200010a101200041d0006a2102410021030340411820034103746b2104410021000340200120006a200220006a2802002004763a0000200041046a22004120470d000b200141016a2101200341016a22034104470d000b0bbe04010c7f230041a0026b2201240041002102410021030340200141206a20026a2000200341ff017122046a280000220341187420034180fe03714108747220034108764180fe037120034118767272360200200441046a2103200241046a220241c000470d000b41002102200128022021050340200141206a20026a220341c0006a200341386a2802002204410f772004410d77732004410a7673200341246a2802006a20056a200341046a28020022034119772003410e77732003410376736a36020020032105200241046a220241c001470d000b200041d0006a2102410021030340200120036a200220036a280200360200200341046a22034120470d000b41002104200128020c2106200128021c210720012802182105200128021421032001280210210820012802082109200128020421022001280200210a03402005210b200321052009220c2002220972200a220271200c200971722002411e772002411377732002410a77736a200b20082203417f7371200520037172200141206a20046a2802006a2003411a772003411577732003410777736a200441a4d2006a2802006a20076a22086a210a200820066a2108200b2107200c2106200441046a2204418002470d000b2001200b36021c20012005360218200120033602142001200836021020012009360208200120023602042001200a3602002001200c36020c200041d0006a2104410021030340200420036a22022002280200200120036a2802006a360200200341046a22034120470d000b200141a0026a24000bea0102027f027e2000200028024022016a22024180013a000002402001ad220342017c423842c00020014138491b22045a0d00200241016a21012003427f8520047c21030340200141003a0000200141016a21012003427f7c22034200520d000b0b0240200028024022014138490d00200010a00120004100413810011a200028024021010b200020002903482001410374ad7c22033c003f20002003370348200020034208883c003e200020034210883c003d200020034218883c003c200020034220883c003b200020034228883c003a200020034230883c0039200020034238883c0038200010a0010b6b03027f017e017f20012802042202200128020022036b41286dad2104200028020021010340200141016a2101200442ff005621052004420788210420050d000b20002001360200024020032002460d0003402000200310a6011a200341286a22032002470d000b0b20000b5f01027f230041106b220224002002200128020420012802006b41286d36020c20002002410c6a10a8011a02402001280200220320012802042201460d0003402000200310a9011a200341286a22032001470d000b0b200241106a240020000ba30201067f230041206b2202240002400240024020002802082203200028020422046b2001490d000340200441003a00002000200028020441016a22043602042001417f6a22010d000c020b0b2004200028020022056b220620016a2207417f4c0d012002411c6a200041086a360200410021040240200320056b220341017422052007200520074b1b41ffffffff07200341ffffffff03491b2203450d002003102721040b2002200436020c2002200420036a3602182002200420066a22043602100340200441003a0000200441016a21042001417f6a22010d000b2002200436021420002002410c6a10a5010240200228021420022802102201460d00200220013602140b200228020c2201450d00200110280b200241206a24000f0b2000103f000b890101037f200120012802042000280204200028020022026b22036b2204360204024020034101480d0020042002200310041a200128020421040b200028020021032000200436020020012003360204200028020421042000200128020836020420012004360208200028020821042000200128020c3602082001200436020c200120012802043602000b5802027f017e2000200110a70122022802002001411c6a28020022006a200128021822036b41086a2101200020036bad21040340200141016a2101200442ff005621002004420788210420000d000b2002200136020020020b7403017f017e017f200128020420012d0000220241017620024101711bad2103200028020021020340200241016a2102200342ff005621042003420788210320040d000b200020023602000240200128020420012d0000220441017620044101711b2204450d002000200420026a3602000b20000b860102027f017e230041106b220224002000280204210320013502002104034020022004a741ff0071200442ff00562201410774723a000f0240200028020820036b41004a0d00410041c2d0001000200028020421030b2004420788210420032002410f6a410110041a2000200028020441016a220336020420010d000b200241106a240020000b19002000200110aa01200141106a109a01200141186a10ab010ba30101037f230041106b220224002002200128020420012d0000220341017620034101711b36020c20002002410c6a10a8011a0240200128020420012d00002203410176200341017122041b2203450d002001280208200141016a20041b210402402000280208200028020422016b20034e0d00410041c2d0001000200028020421010b20012004200310041a2000200028020420036a3602040b200241106a240020000b7801037f230041106b220224002002200128020420012802006b36020c20002002410c6a10a8011a02402000280208200028020422036b2001280204200128020022046b22014e0d00410041c2d0001000200028020421030b20032004200110041a2000200028020420016a360204200241106a240020000b3401017f024020012802182202450d002001411c6a2002360200200210280b024020012d0000410171450d00200128020810280b0b960103037f017e017f230041106b2202240020012802042203200128020022046b410575ad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402000200028020041086a3602002002200036020c200441086a2002410c6a410110b001200441206a22042003470d000b0b200241106a240020000b7501027f230041106b220224002002200128020420012802006b4105753602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20002003109a011a200341086a2002410c6a410110af01200341206a22032001470d000b0b200241106a240020000b5401017f230041106b22032400200128020021012003200028021036020c20012003410c6a10a8011a02402000280210417f470d0010b101000b20012000109c011a2001200041046a10ba011a200341106a24000b6503027f017e017f20012802002203280200210120002802102204ad21050340200141016a2101200542ff005621062005420788210520060d000b2003200136020002402004417f470d0010b101000b2003200141046a3602002003200041046a10b2011a0b05001003000b980103037f017e017f230041106b2202240020012802042203200128020022046b41386dad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402002200036020c20042002410c6a410110b301200228020c2201200128020041026a360200200441386a22042003470d000b0b200241106a240020000b8c0103037f017e017f230041106b2203240020012802002204280200210120002802302205ad21060340200141016a2101200642ff005621072006420788210620070d000b200420013602002003200436020802402005417f470d0010b101000b200541027441dcc2006a28020021012003200341086a36020c2003410c6a20002001110200200341106a24000b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041216a3602000b220020002802002802002200200028020041226a3602002000200141246a10a7011a0b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041206a3602000b20002000280200280200220041e100410120012802001b20002802006a3602000b7801027f230041106b220224002002200128020420012802006b41386d3602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20032002410c6a410110bb01200228020c200341346a10bc011a200341386a22032001470d000b0b200241106a240020000b6f01017f230041106b2203240020012802002101200320002802303602082001200341086a10a8011a20032001360204024020002802302201417f470d0010b101000b2001410274418cc3006a28020021012003200341046a36020c2003410c6a20002001110200200341106a24000b4001017f02402000280208200028020422026b41014a0d00410041c2d0001000200028020421020b20022001410210041a2000200028020441026a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b3f01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b2002200141216a10c101200141246a10aa011a0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004120470d000b0b6201027f230041106b220224004100210320002802002802002100200220012802004100473a000f20002002410f6a10be011a024020012802002201450d0003402000200120036a10be011a200341016a220341e000470d000b0b200241106a24000bbd0101027f230041c0006b22022400024020002001107c200141086a10702200280208200028020422036b411f4b0d00410041c0d4001000200028020421030b200241206a2003412010041a2000200028020441206a360204200241206a200241206a41206a2002109401200141286a200241186a290300370300200141206a200241106a290300370300200141186a2002290308370300200120022903003703102000200141306a1076200141316a10762101200241c0006a240020010b5001017f23004190026b22062400200641046a200410c70141aaff00200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a36020820022000360204200220003602002002200110c8011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b6b01037f0240200120002802042202200028020022036b41306d22044d0d002000200120046b10cb010f0b0240200120044f0d00024020022003200141306c6a2201460d00200041086a210403402004200241506a220210cc0120022001470d000b0b200020013602040b0b20002000200110cd01200141106a1070200141186a10cd01200141246a10cd010bf20101067f230041206b22022400200041086a210302400240024020002802082204200028020422056b41306d2001490d0003402003200510ce012000200028020441306a22053602042001417f6a22010d000c020b0b2005200028020022066b41306d220720016a220541d6aad52a4f0d012002410c6a200420066b41306d220441017422062005200620054b1b41d5aad52a200441aad5aa15491b2007200310cf0122052802082103200541106a280200210403402004200310ce012005200528020841306a22033602082001417f6a22010d000b2000200510d001200510d1011a0b200241206a24000f0b2000103f000b4700024020012d0024410171450d002001412c6a28020010280b024020012d0018410171450d00200141206a28020010280b024020012d0000410171450d00200128020810280b0ba90401067f230041206b220224002002410036021c200242003702142000200241146a107b1a0240024002402002280218220320022802142204460d00200241106a410036020020024200370308200320046b220541704f0d02024002402005410a4b0d00200220054101743a0008200241086a41017221060c010b2005410f72220741016a102721062002200536020c2002200741026a360208200220063602100b0340200620042d00003a0000200641016a2106200441016a22042003470d000b200641003a0000024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d01200228021010280c010b200241106a410036020020024200370308410021040340200241086a20046a4100360200200441046a2204410c470d000b024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d00200228021010280b024020022802142204450d0020022004360218200410280b200241206a240020000f0b200241086a102e000ba30101027f20014200370300200141086a4200370300410021020340200120026a4100360200200241046a2202410c470d000b2001420037031820014200370310200141206a4100360200200141186a2103410021020340200320026a4100360200200241046a2202410c470d000b200142003702242001412c6a4100360200200141246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141d6aad52a4f0d01200141306c102721040b2000200436020020002004200241306c6a220336020820002004200141306c6a36020c2000200336020420000f0b1003000b9f0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241506a200341506a220310d2012001200128020441506a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d301024020002802002201450d00200110280b20000bc10101027f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b2001200229031037031020012002290318370318200141206a200241206a280200360200200241186a2104410021030340200420036a4100360200200341046a2203410c470d000b200120022902243702242001412c6a2002412c6a280200360200200241246a2102410021030340200220036a4100360200200341046a2203410c470d000b0b3d01027f02402000280208220120002802042202460d0003402000200141506a22013602082000280210200110cc01200028020822012002470d000b0b0b3d01027f02402000280208220120002802042202460d0003402000200141586a22013602082000280210200110ac01200028020822012002470d000b0b0b5d01037f02402000280204220120002802002202460d002001416c6a2101034002402001410c6a2203280200417f460d00200110d6011a0b2003417f360200200141746a2103200141606a210120032002470d000b0b200020023602040b1b0002402000280200450d00200010d701200028020010280b20000b7d01057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f36020020022003472104200241486a210220040d000b0b20002003360204200141106a24000b02000b02000b1a00024020012d0024410171450d002001412c6a28020010280b0b02000b02000b0800200110de011a0b3701027f024020002802042201450d00200120012802042202417f6a36020420020d00200120012802002802081101002001103d0b20000b9e0201057f230041206b2202240002400240024020002802082203200028020422046b4105752001490d00034020044200370300200441186a4200370300200441106a4200370300200441086a42003703002000200028020441206a22043602042001417f6a22010d000c020b0b2004200028020022056b410575220620016a220441808080c0004f0d012002410c6a200320056b220341047522052004200520044b1b41ffffff3f200341e0ffffff07491b2006200041086a10e00122032802082104034020044200370300200441186a4200370300200441106a4200370300200441086a4200370300200441206a21042001417f6a22010d000b200320043602082000200310e101200310e2011a0b200241206a24000f0b2000103f000b6801017f410021042000410036020c200041106a2003360200024002402001450d00200141808080c0004f0d012001410574102721040b200020043602002000200420024105746a22033602082000200420014105746a36020c2000200336020420000f0b1003000bab0101047f2001280204210202402000280204220320002802002204460d000340200241606a200341606a2205290300370300200241686a200341686a10e3011a2001200128020441606a22023602042005210320052004470d000b200028020021040b2000200236020020012004360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b2101017f2000200028020410e401024020002802002201450d00200110280b20000b7e01027f2000417f360210200041003a0000024020012802102202417f460d0020004100360204200041086a22034200370200200020012802043602042003200141086a2802003602002000410c6a2001410c6a2203280200360200200020012802003602002000200236021020034100360200200142003702040b20000b5601037f0240200028020822022001460d0003402000200241606a22033602080240200341186a2204280200417f460d002002416c6a10d6011a200028020821030b2004417f3602002003210220032001470d000b0b0b960101017f230041106b220324000240024020020d002003410c6a410036020020034200370204200020031090011a2000200341046a220210e6011a02402001280210417f460d00200141046a10d6011a0b2001200329020037020020014100360210200141086a20032902083702002003410036020420034200370208200210d6011a0c010b410041f4d50010000b200341106a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010e70102402001280200220320012802042201460d00034020022000360204200220033602082002200341346a36020c200241086a200241046a10e801200341386a22032001470d000b0b200241106a240020000bad0101047f230041106b2202240002400240200120002802042203200028020022046b41386d22054d0d002000200120056b10e9010c010b200120054f0d00024020032004200141386c6a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f36020020012004472105200141486a210120050d000b0b200020043602040b200241106a24000b4d01037f230041106b2202240020002802002103200128020021042002410036020c20042002410c6a107c1a20042003200228020c10f501200128020020002802041091011a200241106a24000be40101057f230041206b2202240002400240024020002802082203200028020422046b41386d2001490d00034020044100413810011a2000200028020441386a22043602042001417f6a22010d000c020b0b2004200028020022056b41386d220620016a220441a592c9244f0d012002410c6a200320056b41386d220341017422052004200520044b1b41a492c92420034192c9a412491b2006200041086a10ea01220328020821040340200441004138100141386a21042001417f6a22010d000b200320043602082000200310eb01200310ec011a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141a592c9244f0d01200141386c102721040b2000200436020020002004200241386c6a220336020820002004200141386c6a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a10ed01200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f200010ee01024020002802002201450d00200110280b20000baf0101067f230041106b22042400024020022001460d00200241486a2102200328020021050340200541486a220641003a0000200641306a2207417f3602000240200241306a22082802002209417f460d002004410f6a20062002200941027441c0d5006a280200110300200720082802003602000b2005417c6a200241346a2f01003b01002003200328020041486a220536020020022001472106200241486a210220060d000b0b200441106a24000b7701057f230041106b2201240002402000280208220220002802042203460d0003402000200241486a22023602080240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a280200110200200028020821020b2004417f36020020022003470d000b0b200141106a24000b0b0020012002412110041a0b0b0020012002412110041a0b480020012002412210042201412c6a2002412c6a28020036020020012002290224370224200241246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b0b0020012002412110041a0b3c0020012002290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a2902003702000b130020012002290200370200200242003702000b7f01017f230041306b220324000240024020020d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441003602300c010b20002001200210f6010b200341306a24000b820101017f230041306b220324000240024020024101470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441013602300c010b20002001200210f7010b200341306a24000ba00201027f230041c0006b220324000240024020024102470d00200341386a410036020020034200370230412421022003410c6a41246a210403402003410c6a20026a4100360200200241046a22024130470d000b41002102034020002003410c6a20026a10761a200241016a22024121470d000b20002003412d6a10f801200410cd011a024020012802302202417f460d002003413f6a2001200241027441a8d5006a2802001102000b20012003410c6a412210042200412c6a200441086a280200360200200020042902003702244124210203402003410c6a20026a4100360200200241046a22024130470d000b2000410236023020032d0030410171450d01200341386a28020010280c010b20002001200210f9010b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b820101017f230041306b220324000240024020024103470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441033602300c010b20002001200210fa010b200341306a24000bbc0101017f230041306b220324000240024020024104470d0041002102034020002003410f6a20026a10761a200241016a22024120470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b2001200329000f37000020014104360230200141186a2003410f6a41186a290000370000200141106a2003410f6a41106a290000370000200141086a2003410f6a41086a2900003700000c010b20002001200210fb010b200341306a24000b840101017f230041106b220324000240024020024105470d00200342003702042000200341046a10fc011a024020012802302202417f460d002003410f6a2001200241027441a8d5006a2802001102000b200120032902043702002001410536023020034200370204200341046a10de011a0c010b410041f4d50010000b200341106a24000be30102037f017e230041106b220224002000200241086a10761a0240024020022d0008450d000240200128020022030d0041ec001027220341e0d500360200200342003702042003410c6a410041e000100121042001290200210520012004360200200120033602042002420037020020022005370208200241086a10de011a200210de011a200128020021030b4100210103402000200320016a10761a200141016a220141e000470d000c020b0b20012902002105200142003702002002420037020020022005370208200241086a10de011a200210de011a0b200241106a240020000b08002000103c10280b02000b0600200010280b800101057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f360200200241786a2104200241406a210220042003470d000b0b20002003360204200141106a24000be60101057f230041206b2202240002400240024020002802082203200028020422046b4106752001490d0003402004410041c00010011a2000200028020441c0006a22043602042001417f6a22010d000c020b0b2004200028020022056b410675220620016a220441808080204f0d012002410c6a200320056b220341057522052004200520044b1b41ffffff1f200341c0ffffff07491b2006200041086a1082022203280208210403402004410041c000100141c0006a21042001417f6a22010d000b200320043602082000200310830220031084021a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141808080204f0d012001410674102721040b200020043602002000200420024106746a22033602082000200420014106746a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a108502200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f2000108602024020002802002201450d00200110280b20000bb10101057f230041106b22042400024020022001460d00200241406a2102200328020021050340200541406a22052002290300370300200541386a2206417f360200200541086a220541003a00000240200241386a22072802002208417f460d002004410f6a2005200241086a200841027441c0d5006a280200110300200620072802003602000b2003200328020041406a220536020020022001472106200241406a210220060d000b0b200441106a24000b7e01067f230041106b2201240002402000280208220220002802042203460d0003402000200241406a22043602080240200441386a22052802002206417f460d002001410f6a200241486a200641027441a8d5006a280200110200200028020821040b2005417f3602002004210220042003470d000b0b200141106a24000bab040020001043024020012000520d00024002400240024002400240024002400240200242ffffff95cdebd4d942550d000240200242fffffffffff698d942550d0002402002428fa9d9d9dd8c99d6ba7f550d00200242808080e8b2edc0d38b7f510d032002428080f9d4a98499dc9a7f520d0a20012001106f0f0b20024290a9d9d9dd8c99d6ba7f510d0320024280808080daac9bd6ba7f520d09200120011092010f0b0240200242ffffffffd3c4a2d942550d002002428080808080f798d942510d042002428080b8f6a4979ad942520d0920012001107f0f0b20024280808080d4c4a2d942510d04200242f0aadf8bcde9add942520d0820012001108b010f0b0240200242ffffacd68db8baf154550d000240200242ffdfde8293fad6d942550d0020024280808096cdebd4d942510d0620024280808080b6f7d6d942520d0920012001107e0f0b20024280e0de8293fad6d942510d06200242808080c093fad6d942520d08200120011081010f0b0240200242ffffffcfb2b3bb9932550d002002428080add68db8baf154510d072002428080add68d959ba955520d082001200110710f0b02402002428080add68d95abd1ca00510d00200242808080d0b2b3bb9932520d08200120011093010f0b2001200110720f0b2001200110730f0b200120011095010f0b20012001107a0f0b2001200110750f0b20012001108e010f0b200120011086010f0b2001200110740f0b2001428080808080c0bad847510d0041004201101d0b0b0d00101e2000200120021087020b0be71606004180c0000b4a6661696c656420746f20616c6c6f6361746520706167657300656e636f756e7465726564206e6f6e2d62617365363420636861726163746572005055425f424c535f00000000000000000041cac0000bdf0200000000000030303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839396461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400000100000002000000030000000400000005000000060000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000700000008000000090000000a0000000b0000000c00000000000000000041a9c3000b81080000000000000000000000020000000300000005000000070000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d000000710000007f00000083000000890000008b00000095000000970000009d000000a3000000a7000000ad000000b3000000b5000000bf000000c1000000c5000000c7000000d3000000010000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d00000071000000790000007f00000083000000890000008b0000008f00000095000000970000009d000000a3000000a7000000a9000000ad000000b3000000b5000000bb000000bf000000c1000000c5000000c7000000d1000000404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e4040403f3435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f101112131415161718194040404040401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e40403435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f10111213141516171819404040403f401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132334040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404077726f6e6720656e636f64656420737472696e672073697a65005349475f424c535f00424c535f5349475f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f4e554c5f00424c535f504f505f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f504f505f0041aacb000b820800bbc622db0af03afbef1a7af93fe8556c58ac1b173f3a4ea105b974974f8c68c30faca94f8c63952694d79731a7d3f117cac239b9d6dc54ad1b75cb0eba386f4e3642accad5b95566c907b51def6a8167f2212ecfc8767daaa845d555681d4d116e756d626572206f662066696e616c697a657273206578636565647320746865206d6178696d756d20616c6c6f7765640072657175697265206174206c65617374206f6e652066696e616c697a6572005055425f424c53005349475f424c530046696e616c697a6572206465736372697074696f6e2067726561746572207468616e206d617820616c6c6f7765642073697a65007075626c6963206b65792073686f756c642073746172742077697468205055425f424c530070726f6f66206f6620706f7373657373696f6e207369676e61747572652073686f756c642073746172742077697468205349475f424c530073756d206f662077656967687473206361757365732075696e7436345f74206f766572666c6f77006475706c6963617465207075626c6963206b65790070726f6f66206f6620706f7373657373696f6e206661696c65640066696e616c697a657220706f6c696379207468726573686f6c64206d7573742062652067726561746572207468616e2068616c66206f66207468652073756d206f662074686520776569676874732c20616e64206c657373207468616e206f7220657175616c20746f207468652073756d206f66207468652077656967687473006665617475726520646967657374206163746976617465643a20000a0070726f746f636f6c2066656174757265206973206e6f7420616374697661746564004b5620777269746520726566757365640062655f6b65795f73747265616d3a206b657920746f6f206c61726765006461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400656e636f64656420626173653634206b657920697320746f6f2073686f72740062617365363420656e636f6465642074797065206d75737420626567696e2066726f6d20636f72726573706f6e64696e6720707265666978006465636f6465642073697a65200020646f65736e2774206d61746368207374727563747572652073697a652000202b20636865636b73756d2000636865636b73756d206f662073747275637475726520646f65736e2774206d6174636800982f8a4291443771cffbc0b5a5dbb5e95bc25639f111f159a4823f92d55e1cab98aa07d8015b8312be853124c37d0c55745dbe72feb1de80a706dc9b74f19bc1c1699be48647beefc69dc10fcca10c246f2ce92daa84744adca9b05cda88f97652513e986dc631a8c82703b0c77f59bff30be0c64791a7d55163ca0667292914850ab72738211b2e0041acd3000b8a03fc6d2c4d130d385354730a65bb0a6a762ec9c281852c7292a1e8bfa24b661aa8708b4bc2a3516cc719e892d1240699d685350ef470a06a1016c1a419086c371e4c774827b5bcb034b30c1c394aaad84e4fca9c5bf36f2e68ee828f746f63a5781478c8840802c78cfaffbe90eb6c50a4f7a3f9bef27871c67075626c6963206b65792068617320612077726f6e672073697a65006461746173747265616d20617474656d7074656420746f207265616420706173742074686520656e640048797065727669736f722072657475726e656420756e657870656374656420636f64652068617368207374727563742076657273696f6e00676574000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e00000000000000000000001f00000020000000210000002200000023000000696e76616c69642076617269616e7420696e64657800756e6578706563746564206572726f7220696e2066697865645f627974657320636f6e7374727563746f72000041000b04d02c00000001d00f01001f5cf40b6fb28907e85192e296972b91fba1c5e3dfae5ace417b9c535a1c4fb6ef736c89ed81f6cb551331cf9f78c10cd0c124e33af558752743a0433d019bf36f0000df15868574670200247d62d500000000010000000000eab0c700000000b863b2c2010000000000eab0c700000000a8ed3232ac150000000000eab0c7a2150e737973696f3a3a6162692f312e320117626c6f636b5f7369676e696e675f617574686f726974792276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f76301e086162695f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320b616269686173685f6b65790001056f776e65720675696e74363408616374697661746500010e666561747572655f6469676573740b636865636b73756d32353609617574686f726974790003097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d086163636f756e7473197065726d697373696f6e5f6c6576656c5f7765696768745b5d1a626c6f636b5f7369676e696e675f617574686f726974795f76300002097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d15626c6f636b636861696e5f706172616d65746572730013136d61785f626c6f636b5f6e65745f75736167650675696e7436341a7461726765745f626c6f636b5f6e65745f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6e65745f75736167650675696e743332106e65745f75736167655f6c65657761790675696e74333223636f6e746578745f667265655f646973636f756e745f6e65745f75736167655f6e756d0675696e74333223636f6e746578745f667265655f646973636f756e745f6e65745f75736167655f64656e0675696e743332136d61785f626c6f636b5f6370755f75736167650675696e7433321a7461726765745f626c6f636b5f6370755f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6370755f75736167650675696e743332196d696e5f7472616e73616374696f6e5f6370755f75736167650675696e743332186d61785f7472616e73616374696f6e5f6c69666574696d650675696e743332156d61785f7472616e73616374696f6e5f64656c61790675696e743332166d61785f696e6c696e655f616374696f6e5f73697a650675696e743332176d61785f696e6c696e655f616374696f6e5f64657074680675696e743136136d61785f617574686f726974795f64657074680675696e7431361c6d61785f616374696f6e5f72657475726e5f76616c75655f73697a650675696e7433320f6d61785f6b765f6b65795f73697a650675696e743332116d61785f6b765f76616c75655f73697a650675696e743332196d61785f6b765f7365636f6e646172795f6b65795f73697a650675696e74333209636f64655f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320c636f6465686173685f6b65790001056f776e65720675696e7436340a64656c657465617574680002076163636f756e74046e616d650a7065726d697373696f6e046e616d651366696e616c697a65725f617574686f7269747900040b6465736372697074696f6e06737472696e67067765696768740675696e7436340a7075626c69635f6b657906737472696e6703706f7006737472696e671066696e616c697a65725f706f6c6963790002097468726573686f6c640675696e7436340a66696e616c697a6572731566696e616c697a65725f617574686f726974795b5d0a6b65795f7765696768740002036b65790a7075626c69635f6b6579067765696768740675696e743136086c696e6b617574680004076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650b726571756972656d656e74046e616d650a6e65776163636f756e7400040763726561746f72046e616d65046e616d65046e616d65056f776e657209617574686f726974790661637469766509617574686f72697479107065726d697373696f6e5f6c6576656c0002056163746f72046e616d650a7065726d697373696f6e046e616d65177065726d697373696f6e5f6c6576656c5f77656967687400020a7065726d697373696f6e107065726d697373696f6e5f6c6576656c067765696768740675696e7431361270726f64756365725f617574686f7269747900020d70726f64756365725f6e616d65046e616d6509617574686f7269747917626c6f636b5f7369676e696e675f617574686f726974790c70726f64756365725f6b657900020d70726f64756365725f6e616d65046e616d6511626c6f636b5f7369676e696e675f6b65790a7075626c69635f6b65790c72657161637469766174656400010e666561747572655f6469676573740b636865636b73756d323536077265716175746800010466726f6d046e616d65067365746162690002076163636f756e74046e616d65036162690562797465730a736574616c696d6974730004076163636f756e74046e616d650972616d5f627974657305696e7436340a6e65745f77656967687405696e7436340a6370755f77656967687405696e74363407736574636f64650004076163636f756e74046e616d6506766d747970650575696e743809766d76657273696f6e0575696e743804636f64650562797465730c73657466696e616c697a657200011066696e616c697a65725f706f6c6963791066696e616c697a65725f706f6c69637909736574706172616d73000106706172616d7315626c6f636b636861696e5f706172616d657465727307736574707269760002076163636f756e74046e616d650769735f707269760575696e74380b73657470726f646b6579730001087363686564756c650e70726f64756365725f6b65795b5d0873657470726f64730001087363686564756c651470726f64756365725f617574686f726974795b5d0a756e6c696e6b617574680003076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650a757064617465617574680004076163636f756e74046e616d650a7065726d697373696f6e046e616d6506706172656e74046e616d65046175746809617574686f72697479100000002a9bed3232086163746976617465000040cbdaa8aca24a0a64656c65746561757468000000002d6b03a78b086c696e6b617574680000409e9a2264b89a0a6e65776163636f756e7400905436db6564acba0c72657161637469766174656400000000a0656dacba07726571617574680000000000b863b2c206736574616269000000ce4eba68b2c20a736574616c696d6974730000000040258ab2c207736574636f64650070d577d14cb7b2c20c73657466696e616c697a6572000000c0d25c53b3c209736574706172616d730000000060bb5bb3c207736574707269760000b05730d15bb3c20b73657470726f646b6579730000000038d15bb3c20873657470726f6473000040cbdac0e9e2d40a756e6c696e6b61757468000040cbdaa86c52d50a75706461746561757468000207616269686173680369363401056f776e6572010675696e743634086162695f6861736826c10008636f6465686173680369363401056f776e6572010675696e74363409636f64655f68617368aa3f00000000012276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f7630011a626c6f636b5f7369676e696e675f617574686f726974795f7630000000000000 0100000000000000010000009f958b5ea8390fe5065d36eda30d6db29707bc24be180a50701c498a7b2cd90f86cd31576daabfaac772e248b9f1207e3260bebc46838ea1961482cfe47901e701000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000008af48301da830452de7a8efd305ecb4472e2592d7b1add10119d87af98c577310001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG APPLIED_TRANSACTION 3 25f421300276271937f13f4b1121c55eabb25df362b0b09c85f850d5603aa33503000000020000000100000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f010164640000000000000000000000000000000001010000010000000000eab0c7ea2d9e1003d4e2079e792230ba588be16f41032b290324fa071c34c0b6fc7e5a02000000000000000200000000000000010000000000eab0c7020000000000000000000000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274010000000000000000eab0c700000001cbe9c4c147bc3f3434f9d82409e76d09ea58905aefe7fb5415912d9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000164000025f421300276271937f13f4b1121c55eabb25df362b0b09c85f850d5603aa33503000000020000000100000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f00000000000000 +DMLOG CREATION_OP ROOT 0 +DMLOG RAM_OP 0 sysio code add setcode sysio 419507 416340 +DMLOG KV_OP INS 0 sysio sysio 16298 c7b0ea0000000000 0000000000eab0c7990be66648692c28236b77fc525d5e6e20cd172fb86abfcd951e923081336c4a40a21bba992a060003000000 +DMLOG RAM_OP 0 sysio:16298:c7b0ea0000000000 table_row add primary_index_add sysio 419679 172 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":2,"value_ex":241789,"consumed":41781},"cpu_usage":{"last_ordinal":2,"value_ex":12732,"consumed":2101},"ram_usage":419679} +DMLOG APPLIED_TRANSACTION 3 c9932b371aca3ed471f6940ab8a048ff9d9d9ca4677bebaeb087aef6e8eee53003000000020000000100000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f0101d00fd00f000000000000000035a300000000000001010000010000000000eab0c75e76120462b043eb66e89a34f021e16c14356ecb262a2e2016aaf2896618214103000000000000000300000000000000010000000000eab0c7030000000000000001000000000000eab0c70000000000eab0c700000040258ab2c2010000000000eab0c700000000a8ed3232afc5020000000000eab0c70000a2c5020061736d0100000001e1012160000060017f0060027f7f0060037f7f7f0060037f7f7f017f60027f7f017e6000017e6000017f60017e0060037e7f7f0060077f7f7f7f7f7f7f017f60027e7f0060047e7e7e7e0060037e7f7f017e60017f017f60027f7f017f60077f7e7f7f7f7f7f017f60047f7f7f7f017f60067f7f7f7f7f7f017f60047e7f7f7f017f60027f7e0060047f7e7e7f0060057f7f7f7f7f017f60087f7f7f7f7f7f7f7f0060077f7f7f7f7f7f7f0060017d017d60047f7f7f7f0060037f7e7f0060047f7e7f7f0060027e7e0060067f7e7f7f7f7f017f60067f7f7f7f7f7f0060037e7e7e0002df041e03656e760c737973696f5f617373657274000203656e76066d656d736574000403656e76076d656d6d6f7665000403656e760561626f7274000003656e76066d656d637079000403656e7606736861323536000303656e7609726970656d64313630000303656e76207365745f626c6f636b636861696e5f706172616d65746572735f7061636b6564000203656e76167365745f70726f706f7365645f70726f647563657273000503656e760c63757272656e745f74696d65000603656e760d6765745f626c6f636b5f6e756d000703656e760c726571756972655f61757468000803656e760e7365745f66696e616c697a657273000903656e760b626c735f70616972696e67000a03656e760e7365745f70726976696c65676564000b03656e76137365745f7265736f757263655f6c696d697473000c03656e76197365745f70726f706f7365645f70726f6475636572735f6578000d03656e761370726561637469766174655f66656174757265000103656e76067072696e7473000103656e761469735f666561747572655f616374697661746564000e03656e7610616374696f6e5f646174615f73697a65000703656e7610726561645f616374696f6e5f64617461000f03656e76066b765f736574001003656e7614737973696f5f6173736572745f6d657373616765000303656e760a626c735f66705f6d6f64001103656e760a626c735f67325f6d6170001103656e760a626c735f67325f616464001203656e760d6765745f636f64655f68617368001303656e76087072696e74686578000203656e7611737973696f5f6173736572745f636f6465001403ed01eb010001010e0f0100040e0e010104150f0f010f16171802040f0211040402020e010f01030f0308010f02020206190e1a000f0100010001000100020100011b1c020203030f0f020e11020e030302020202021d0f1d1d1d1d1d0f1c1b1c1d0f0f021d1d0f1d0f0e02021d0f0e02021d0f0e1d0f0f0f1d1d031d141e020f0f0f0f1f030201010f0f02020f0f0f0f0f0f020f0f0303000f030202020202020f030f020f02020f0202020f1e020f020f02020f0211020e030101010e010202020202020e0211020e0f02030f02020211020e1a010303030303030303030f0303030f010101010211020e1a0120200405017001242405030100010616037f014180c0000b7f0041c8d9000b7f0041d0d9000b072e04066d656d6f727902000a5f5f646174615f656e6403010b5f5f686561705f626173650302056170706c790088020944010041010b23b401b501b601b701b801b901bd01bf01c001c201c301c4014f515355585ad801d901da01db01dc01dd01ef01f001f101f201f301f4013cfd01fe013eff010adca402eb0110001024104d105010521054105610590b0900200041013602000b0900200041003602000b7201037f024020000d0041000f0b410041002802c456200041107622016a22023602c456410041002802bc56220320006a410f6a41707122003602bc560240200241107420004b0d004100200241016a3602c456200141016a21010b024020014000417f470d0041004180c00010000b20030b8a0101037f0240200120006c22000d0041000f0b410041002802c456200041107622026a22033602c456410041002802bc56220120006a410f6a41707122043602bc560240200341107420044b0d004100200341016a3602c456200241016a21020b024020024000417f470d0041004180c00010000b024020010d0041000f0b20014100200010011a20010b02000b3601017f230041106b2200410036020c4100200028020c280200410f6a41707122003602b856410020003602bc5641003f003602c4560b990101037f41c8d600101f024041002802d05622030d0041d8d6002103410041d8d6003602d0560b0240024041002802d45622044120470d0002404184024101102222030d00417f21050c020b41002104200341002802d056360200410020033602d0560b410021054100200441016a3602d456200320044102746a22034184016a2001360200200341046a20003602000b41c8d600102020050bcc0101037f20002101024002402000410371450d00024020002d00000d00200020006b0f0b200041016a2201410371450d0020012d0000450d01200041026a2201410371450d0020012d0000450d01200041036a2201410371450d0020012d0000450d01200041046a22014103710d010b2001417c6a21022001417b6a21010340200141046a2101200241046a22022802002203417f73200341fffdfb776a7141808182847871450d000b0340200141016a210120022d00002103200241016a210220030d000b0b200120006b0b3601027f20004101200041014b1b2101024003402001102122000d014100210041002802dc582202450d0120021100000c000b0b20000b0600200010230b0600200010280b4901037f4100210302402002450d000240034020002d0000220420012d00002205470d01200141016a2101200041016a21002002417f6a22020d000c020b0b200420056b21030b20030b6a01017e4200210402400240200341ff004d0d00420021020c010b024020030d00200121040c010b02402003413f4b0d00200141c00020036bad8820022003ad220486842102200120048621040c010b2001200341406aad8621020b20002002370308200020043703000bf90101027f0240200041ffc1d72f4b0d0020012000102d0f0b200020004180c2d72f6e22024180c2d72f6c6b210302400240200041ff93ebdc034b0d00200120024130723a0000410121000c010b410221002001200241017441d0c0006a410210041a0b200120006a220020034190ce006e220141ffff037141e4006e220241017441d0c0006a410210041a200041026a2001200241e4006c6b41017441feff037141d0c0006a410210041a200041046a200320014190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041066a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041086a0bda0301027f02402001418fce004b0d000240200141e3004b0d000240200141094b0d00200020014130723a0000200041016a0f0b2000200141017441d0c0006a410210041a200041026a0f0b200141ffff0371220241e4006e21030240200141e7074b0d00200020034130723a0000200041016a200241e4007041017441d0c0006a410210041a200041036a0f0b2000200341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0f0b20014190ce006e210302400240200141bf843d4b0d0002402001419f8d064b0d00200020034130723a0000410121020c020b410221022000200341017441d0c0006a410210041a0c010b0240200141fface2044b0d002000200341ffff037141e4006e22024130723a0000200041016a2003200241e4006c6b41017441feff037141d0c0006a410210041a410321020c010b2000200141c0843d6e41017441d0c0006a410210041a200041026a200341e4007041017441d0c0006a410210041a410421020b200020026a2200200120034190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0b05001003000bbb0101037f20004200370200200041086a22024100360200024020012d00004101710d00200020012902003702002002200141086a28020036020020000f0b02402001280204220241704f0d00200128020821030240024002402002410b490d002002410f72220441016a10272101200020023602042000200441026a360200200020013602080c010b200020024101743a0000200041016a21012002450d010b20012003200210041a0b200120026a41003a000020000f0b1003000bc50101047f20004200370200200041086a41003602000240200128020420012d00002205410176200541017122061b22052002490d00200520026b2205200320052003491b220341704f0d00200128020821070240024002402003410b490d002003410f72220841016a10272105200020033602042000200841026a360200200020053602080c010b200020034101743a0000200041016a21052003450d010b20052007200141016a20061b20026a200310041a0b200520036a41003a000020000f0b1003000bfc0101047f0240416e20016b2002490d00200041016a210820002d000041017121092000280208210a416f210b0240200141e6ffffff074b0d00410b200220016a22022001410174220b2002200b4b1b2202410f7241016a2002410b491b210b0b200a200820091b2108200b1027210202402004450d0020022008200410041a0b02402006450d00200220046a2007200610041a0b2003200520046a220a6b210902402003200a460d00200220046a20066a200820046a20056a200910041a0b02402001410a460d00200810280b200020023602082000200b4101723602002000200620046a20096a2204360204200220046a41003a00000f0b1003000bcb0101047f416f21070240416f20016b2002490d00200041016a210820002d000041017121092000280208210a0240200141e6ffffff074b0d00410b200220016a220720014101742202200720024b1b2207410f7241016a2007410b491b21070b200a200820091b210820071027210202402004450d0020022008200410041a0b02402003200520046a2209460d00200220046a20066a200820046a20056a200320096b10041a0b02402001410a460d00200810280b20002002360208200020074101723602000f0b1003000b820201067f0240200141704f0d00024020002d0000220220002802002203417e71417f6a2000280204200341017641ff007120034101711b22032001200320014b1b2201410f72220446712002410171452001410a4b22021b0d000240024020020d0041012102200041016a210520002802082106200321070c010b200441016a10272105200028020420002d00002202410176200241017122021b21072000280208200041016a20021b21060b0240200741016a2207450d0020052006200710041a0b02402002450d00200610280b02402001410b490d0020002005360208200020033602042000200441026a3602000f0b200020034101743a00000b0f0b1003000bb20101037f0240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000bb80101047f2001102621020240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000ba20101037f0240024002400240024020002d000022024101710d00410a2103410a210420024114460d01200241017621030c020b200028020422032000280200417e71417f6a2204470d020b2000200441012004200441004100103220002d00004101710d010b2000200341017441026a3a0000200041016a21000c010b2000200341016a360204200028020821000b200020036a220041003a0001200020013a00000bf80101037f0240200028020420002d00002204410176200441017122051b22042001490d000240024020002802002206417e71417f6a410a20051b220520046b2003490d002003450d012000280208200041016a20064101711b2105024020042001460d00200520016a220620036a2006200420016b10021a200220034100200520046a20024b1b4100200620024d1b6a21020b200520016a2002200310021a200420036a21030240024020002d0000410171450d00200020033602040c010b200020034101743a00000b200520036a41003a000020000f0b20002005200420036a20056b2004200141002003200210310b20000f0b1003000b0e002000200120022002102610370baa0101057f0240200028020420002d00002203410176200341017122041b22052001490d0002402002450d00200520016b2206200220062002491b21072000280208200041016a20041b21040240200620024d0d00200420016a2202200220076a200620076b10021a20002d000021030b200520076b2102024002402003410171450d00200020023602040c010b200020024101743a00000b200420026a41003a00000b20000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b040020000b2801017f0240200028020822010d00200020002802002802101101000f0b20002001417f6a3602080b040041000b05001003000b2301017f230041206b2203240020012002200310052000200310411a200341206a24000bbd0301057e200131000f2102200131000e2103200131000d2104200020013100002205423886200542108620013100014208868420013100028442108620013100034208868420013100048442108620013100054208868420013100068422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131000742088684200131000884421086200131000942088684200131000a84421086200131000b42088684200131000c8442108622054238888437030820002002200320052004420886848442088684370300200131001f2102200131001e2103200131001d2104200041186a20013100102205423886200542108620013100114208868420013100128442108620013100134208868420013100148442108620013100154208868420013100168422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131001742088684200131001884421086200131001942088684200131001a84421086200131001b42088684200131001c844210862205423888843703002000200220032005200442088684844208868437031020000bed0102017f017e230041206b220324002001200220031006200020033100014208862003310000421086842003310002844228862003310005420886200331000684200331000342188620033100044210868484420886842003310009420886200331000a842003310007421886200331000842108684844220862204423888843703082000200331000d420886200331000e842004200331000b421886200331000c421086848484420886200331000f84370300200041186a200331001142088620033100104210868420033100128442288620033100134220868437030020004200370310200341206a24000b0a00410020003703e0580b5101017f230041e0006b220124002001200141d8006a36020c2001200141106a3602082001200141106a360204200141046a200010451a200141106a200128020820012802046b1007200141e0006a24000b9d0801027f02402000280208200028020422026b41074a0d0041004198c2001000200028020421020b20022001410810041a2000200028020441086a2202360204200141086a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001410c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141106a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141146a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141186a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001411c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141206a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141246a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141286a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001412c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141306a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a2202360204200141326a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a2202360204200141346a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141386a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001413c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602040240200028020820026b41034a0d0041004198c2001000200028020421020b2002200141c0006a410410041a2000200028020441046a36020420000b7402017f017e230041106b22022400200241046a200110470240024020022802042201200228020820016b100822034200530d0020002003370300410121010c010b41002101200041003a00000b200020013a0008024020022802042200450d0020022000360208200010280b200241106a24000baa0403047f017e027f230041206b2202240041002103200041003602082000420037020020012802042204200128020022056b410675ad21060340200341016a2103200642ff005621072006420788210620070d000b2002200336021402400240024020052004470d0041002107410021050c010b0340200228021441086a2107200541386a2802002208ad21060340200741016a2107200642ff005621032006420788210620030d000b200220073602142002200241146a3602182008417f460d02200841027441c4c2006a28020021072002200241186a360208200241086a200541086a2007110200200541c0006a22052004470d000b2000280200210720002802042105200228021421030b024002402003200520076b22084d0d002000200320086b10a40120002802002107200028020421050c010b200320084f0d002000200720036a22053602040b2002200736020c2002200736020820022007200520076b6a360210200128020420012802006b410675ad2106034020022006a741ff0071200642ff00562203410774723a00180240200228021020076b41004a0d0041004198c20010000b200642078821062007200241186a410110041a2002200228020c41016a220736020c20030d000b02402001280200220720012802042203460d0003402002200241086a360214200220073602182002200741086a36021c200241186a200241146a1048200741c0006a22072003470d000b0b200241206a24000f0b10b101000b930202047f017e230041106b2202240020002802002103024020012802002204280208200428020422056b41074a0d0041004198c2001000200428020421050b20052003410810041a2004200428020441086a360204200028020422053502302106200128020022042802042101034020022006a741ff0071200642ff00562200410774723a000b0240200428020820016b41004a0d0041004198c2001000200428020421010b2006420788210620012002410b6a410110041a2004200428020441016a220136020420000d000b20022004360204024020052802302204417f470d0010b101000b200441027441f4c2006a28020021042002200241046a36020c2002410c6a20052004110200200241106a24000b040010090b930101047f230041106b210102402000bc220241177641ff017122034195014b0d000240200341ff00490d0041ffffff03200341817f6a2203762204200271450d0120012000430000807b9238020c4100200420024100481b20026a418080807c20037571be0f0b20012000430000807b923802080240200241004e0d0043000000800f0b430000803f200020021b21000b20000bfb0e01067f02400240200041d3014b0d004130210141b0c300210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200228020021020c010b02402000417c4f0d002000200041d2016e220541d2016c22066b21004130210141f0c400210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200241f0c4006b41027521000340200041027441f0c4006a28020020066a210241d87e2101024003402002200141ecc4006a28020022036e22042003490d042002200420036c460d012002200141f0c4006a28020022036e22042003490d042002200420036c460d01200141086a22010d000b41a303210103402002200141b07e6a22036e22042003490d042002200420036c460d012002200141ba7e6a22046e22062003410a6a2203490d042002200620046c460d012002200141bc7e6a22046e2206200341026a2203490d042002200620046c460d012002200141c07e6a22046e2206200341046a2203490d042002200620046c460d012002200141c27e6a22046e2206200341026a2203490d042002200620046c460d012002200141c67e6a22046e2206200341046a2203490d042002200620046c460d012002200141cc7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ce7e6a22046e2206200341026a2203490d042002200620046c460d012002200141d47e6a22046e2206200341066a2203490d042002200620046c460d012002200141d87e6a22046e2206200341046a2203490d042002200620046c460d012002200141da7e6a22046e2206200341026a2203490d042002200620046c460d012002200141de7e6a22046e2206200341046a2203490d042002200620046c460d012002200141e47e6a22046e2206200341066a2203490d042002200620046c460d012002200141ea7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ec7e6a22046e2206200341026a2203490d042002200620046c460d012002200141f27e6a22046e2206200341066a2203490d042002200620046c460d012002200141f67e6a22046e2206200341046a2203490d042002200620046c460d012002200141f87e6a22046e2206200341026a2203490d042002200620046c460d012002200141fe7e6a22046e2206200341066a2203490d042002200620046c460d012002200141827f6a22046e2206200341046a2203490d042002200620046c460d012002200141887f6a22046e2206200341066a2203490d042002200620046c460d012002200141907f6a22046e2206200341086a2203490d042002200620046c460d012002200141947f6a22046e2206200341046a2203490d042002200620046c460d012002200141967f6a22046e2206200341026a2203490d042002200620046c460d0120022001419a7f6a22046e2206200341046a2203490d042002200620046c460d0120022001419c7f6a22046e2206200341026a2203490d042002200620046c460d012002200141a07f6a22046e2206200341046a2203490d042002200620046c460d012002200141a87f6a22046e2206200341086a2203490d042002200620046c460d012002200141ae7f6a22046e2206200341066a2203490d042002200620046c460d012002200141b27f6a22046e2206200341046a2203490d042002200620046c460d012002200141b87f6a22046e2206200341066a2203490d042002200620046c460d012002200141ba7f6a22046e2206200341026a2203490d042002200620046c460d012002200141be7f6a22046e2206200341046a2203490d042002200620046c460d012002200141446a22046e2206200341066a2203490d042002200620046c460d012002200141466a22046e2206200341026a2203490d042002200620046c460d0120022001414c6a22046e2206200341066a2203490d042002200620046c460d012002200141526a22046e2206200341066a2203490d042002200620046c460d012002200141566a22046e2206200341046a2203490d042002200620046c460d012002200141586a22046e2206200341026a2203490d042002200620046c460d0120022001415c6a22046e2206200341046a2203490d042002200620046c460d012002200141626a22046e2206200341066a2203490d042002200620046c460d012002200141646a22046e2206200341026a2203490d042002200620046c460d0120022001416a6a22046e2206200341066a2203490d042002200620046c460d0120022001416e6a22046e2206200341046a2203490d042002200620046c460d012002200141706a22046e2206200341026a2203490d042002200620046c460d012002200141746a22046e2206200341046a2203490d042002200620046c460d012002200141766a22046e2206200341026a2203490d042002200620046c460d01200220016e22042003410a6a490d04200420016c2103200141d2016a210120022003470d000b0b4100200041016a2202200241304622021b2100200520026a220541d2016c21060c000b0b1003000b20020bc20801097f230041206b220424000240024002400240200128020422050d0020004200370200200041086a41003602000c010b02402002450d00200441186a410036020020044200370310200541704f0d0220012802002102024002402005410b490d002005410f72220641016a10272101200420053602142004200641026a360210200420013602180c010b200420054101743a0010200441106a41017221010b20012002200510041a200120056a41003a000020042802182207200441106a410172220820042d0010220141017122021b2206200428021422092001410176220a20021b220b6a210c2006210102400240200b450d00200b210520062101034020012d0000410a460d01200141016a21012005417f6a22050d000b200c21010c010b2001200c460d00200141016a2205200c460d002006200b6a220220016b417e6a210b024020022001417f736a4103712202450d000340024020052d00002206410a460d00200120063a0000200141016a21010b200541016a21052002417f6a22020d000b0b0240200b4103490d000340024020052d00002202410a460d00200120023a0000200141016a21010b024020052d00012202410a460d00200120023a0000200141016a21010b024020052d00022202410a460d00200120023a0000200141016a21010b024020052d00032202410a460d00200120023a0000200141016a21010b200541046a2205200c470d000b0b20042d00102205410176210a2005410171210220042802142109200428021821070b200441106a20012007200820021b22056b20052009200a20021b6a20016b10391a2004200428021420042d00102201410176200141017122011b36020c20042004280218200820011b360208200420042902083703002000200441002003104c20042d0010410171450d01200428021810280c010b20004200370200200041086a41003602002000200541027641036c10332001280200210b410021010340200141016a20054f0d03024020034108742206200b20016a220241016a2d00007241b0c6006a2d0000220c41c000470d0041004199c00010000b0240200620022d00007241b0c6006a2d0000220841c000470d0041004199c00010000b20002008411a74200c4114744180808018717241187510360240200141026a20054f0d000240200241026a2d0000220841526a0e1001000000000000000000000000000001000b0240200620087241b0c6006a2d0000220841c000470d0041004199c00010000b2000200c411c74200841167441808080f80071724118751036200141036a20054f0d000240200241036a2d0000220241526a0e1001000000000000000000000000000001000b2008410674210c0240200620027241b0c6006a2d0000220241c000470d0041004199c00010000b20002002200c6a41187441187510360b200141046a22012005490d000b0b200441206a24000f0b200441106a102e000b410041b0ca0010001003000b2e00024041002d00f4584101710d00410041013a00f45841e8d80041bac000104e1a410d41004180c00010251a0b0b8c0101037f20004200370200200041086a4100360200024020011026220241704f0d000240024002402002410b490d002002410f72220341016a10272104200020023602042000200341026a360200200020043602080c010b200020024101743a0000200041016a21042002450d010b20042001200210041a0b200420026a41003a000020000f0b2000102e000b1900024041002d00e858410171450d0041002802f05810280b0b2e00024041002d0084594101710d00410041013a00845941f8d80041caca00104e1a410e41004180c00010251a0b0b1900024041002d00f858410171450d0041002802805910280b0b2e00024041002d0094594101710d00410041013a0094594188d90041d3ca00104e1a410f41004180c00010251a0b0b1900024041002d008859410171450d0041002802905910280b0b2e00024041002d00a4594101710d00410041013a00a4594198d90041ffca00104e1a411041004180c00010251a0b0b1900024041002d009859410171450d0041002802a05910280b0b7b01027f230041e0006b22002400024041002d00b4594101710d00410041013a00b459200041abcb0041e00010042101410042003702a859410041003602b05941a8d90041e000105741002802ac59200141e00010041a410041002802ac5941e0006a3602ac59411141004180c00010251a0b200041e0006a24000b2f01017f02402001417f4a0d002000103f000b2000200110272202360200200020023602042000200220016a3602080b1e01017f024041002802a8592201450d00410020013602ac59200110280b0b6e01027f024041002d00c4594101710d00410041013a00c459410041c004102722003602b8594100200041c0046a3602c059410021010340200020016a41003a0000200141016a220141c004470d000b200041013a00004100200020016a3602bc59411241004180c00010251a0b0b1e01017f024041002802b8592201450d00410020013602bc59200110280b0bae0102017f017e23004180016b2203240020002903002104200341e0006a20022802002200200228020420006b1040200342003703582003200437035020032001370348200341186a2003290368370300200341206a200341f0006a290300370300200341286a200341e0006a41186a2903003703002003200137030020032003290360370310200310493703302003100a360238200341d0006a2001200341c8006a2003105c20034180016a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c0220034100109701450d0041004194d00010000b20044190026a24000bbb1407027f017e0e7f017e027f027d067f23004190036b220224002000290300100b02402001410c6a2802002200200128020822036b41306d41818004490d004100418bcc00100020012802082103200128020c21000b024020002003470d00410041bccc00100020012802082103200128020c21000b20024188036a4100360200420021042002420037038003200220012903003703f802200241f8026a41086a2205200020036b41306d105e200241ec026a41dbcc00104e2106200241e0026a41e3cc00104e2107200241808080fc033602dc02200242003702d402200242003702cc02024020012802082208200128020c2209460d00200241cc026a41086a210a200741016a210b200641016a210c2002412c6a410172210d2002412c6a410172210e420021040340024020082d0000410171450d002008280204418102490d00410041ebcc0010000b2002412c6a200841186a22004100200628020420062d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200628020420062d00002200410176200041017122001b470d002006280208200c20001b2100024020030d00200e210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b4100419fcd0010000b0240200f2d0000410171450d00200228023410280b2002412c6a200841246a22004100200728020420072d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200728020420072d00002200410176200041017122001b470d002007280208200b20001b2100024020030d00200d210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b410041c4cd0010000b0240200f2d0000410171450d00200228023410280b0240200829031022132004427f85580d00410041fccd001000200829031021130b200241ec016a200841206a280200200841196a20082d0018220041017122031b2008411c6a280200200041017620031b105f2002410036022c2002412c6a200241ec016a410410041a200228022c211002400240024020022802d0022212450d000240024020126941014b22110d002012417f6a201071210f0c010b2010210f20102012490d002010201270210f0b20022802cc02200f4102746a2802002200450d002012417f6a2114034020002802002200450d010240200028020422032010460d000240024020110d00200320147121030c010b20032012490d00200320127021030b2003200f470d020b200041086a200241ec016a41e000102a0d000b410041a4ce0010000c010b41e8001027221541086a200241ec016a41e00010041a201541003602002015201036020420022a02dc02211620022802d80241016ab32117024002402012450d0020162012b39420175d450d010b2012410174201241034920122012417f6a7141004772722100024002402017201695104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b41022118024020002003200020034b1b22004101460d00024020002000417f6a710d00200021180c010b2000104b21180b024002400240201820022802d00222004b0d00201820004f0d02200041034921120240024020022802d802b320022a02dc0295104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b0240024020120d0020006941014b0d002003410141202003417f6a676b7420034102491b21030c010b2003104b21030b20182003201820034b1b221820004f0d022018450d010b20184180808080044f0d0420184102741027210320022802cc022100200220033602cc0202402000450d00200010280b200220183602d0024100210020182103034020022802cc0220006a4100360200200041046a21002003417f6a22030d000b20022802d4022214450d01201428020421190240024020186941014b221a0d0020192018417f6a7121190c010b20192018490d00201920187021190b20022802cc0220194102746a200a3602002014280200220f450d012018417f6a211b0340200f280204210002400240201a0d002000201b7121000c010b20002018490d00200020187021000b0240024020002019470d00200f21140c010b02400240024020022802cc022000410274221c6a2203280200450d004100211d200f28020022120d01200f21030c020b20032014360200200f2114200021190c020b200f41086a2111200f210303402011201241086a41e000102a21122003280200210002402012450d002000211d0c020b20002103200028020022120d000b200021030b2014201d360200200320022802cc02201c6a28020028020036020020022802cc02201c6a280200200f3602000b2014280200220f0d000c020b0b20022802cc022100200241003602cc0202402000450d00200010280b200241003602d0020b024020022802d00222122012417f6a2200710d002000201071210f0c010b0240201020124f0d002010210f0c010b2010201270210f0b02400240024020022802cc02200f4102746a220328020022000d00201520022802d402360200200220153602d4022003200a36020020152802002200450d02200028020421000240024020122012417f6a2203710d00200020037121000c010b20002012490d00200020127021000b20022802cc0220004102746a21000c010b201520002802003602000b200020153602000b200220022802d80241016a3602d8020b2002412c6a2008412c6a280200200841256a20082d0024220041017122031b200841286a280200200041017620031b10600240200241ec016a2002412c6a10610d00410041b9ce0010000b41e00010272200200241ec016a41e00010041a20022008102f21032002200041e0006a22123602202002201236021c20022000360218200220082903103703102005200310621a024020022802182200450d002002200036021c200010280b024020032d0000410171450d00200228020810280b201320047c2104200841306a22082009470d010c020b0b1003000b02400240200420012903002213540d0020132004420188560d010b410041d4ce0010000b024020022802800322002002280284032203460d00034002402000411c6a280200200041186a2802006b41e000460d00410041a4d40010000b200041286a22002003470d000b0b2002412c6a200241f8026a10634200200228022c2200200228023020006b100c0240200228022c2200450d0020022000360230200010280b024020022802d4022200450d00034020002802002103200010282003210020030d000b0b20022802cc022100200241003602cc0202402000450d00200010280b024020072d0000410171450d00200728020810280b024020062d0000410171450d00200628020810280b200510641a20024190036a24000b5001027f230041206b2202240002402000280208200028020022036b41286d20014f0d0020002002410c6a2001200028020420036b41286d200041086a106522011066200110671a0b200241206a24000b990902047f027e230041a0016b22032400024041002802ec58220441002d00e85822054101762206200541017122051b2002490d00410041edd000100041002d00e858220541017621062005410171210541002802ec5821040b0240200141002802f05841e9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802ec5841002d00e858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41e000103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141e400460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041e0001042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000b990902047f027e230041a0016b22032400024041002802fc58220441002d00f85822054101762206200541017122051b2002490d00410041edd000100041002d00f858220541017621062005410171210541002802fc5821040b0240200141002802805941f9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802fc5841002d00f858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41c001103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141c401460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041c0011042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000beb0101037f23004190096b2202240041002103200241d0076a410041c00110011a200241d0046a410041800310011a200241d0076a41002802a859220441002802ac5920046b10041a200241d0046a200141c00110041a200241d0076a41e0006a200041e00010041a200241e0003602cc04200220003602c804200220022902c80437030020024198d900200241d0046a41c0016a1068200241086a410041c00410011a0240200241d0076a41c001200241d0046a4180034102200241086a41c004100d0d00200241086a41002802b859220041002802bc5920006b102a4521030b20024190096a240020030bcf0101067f230041206b22022400200041086a210302400240024020002802042204200028020822054f0d0020032004200110692000200028020441286a22033602040c010b2004200028020022066b41286d220741016a220441e7cc99334f0d0120032002410c6a200520066b41286d220541017422062004200620044b1b41e6cc9933200541b3e6cc19491b2007200310652204280208200110692004200428020841286a360208200020041066200410671a200028020421030b200241206a2400200341586a0f0b2000103f000b6f01027f230041106b22022400200041003602082000420037020020024108360204200241046a200141086a220310a2011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a2001109a01200310a3011a200241106a24000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341586a220310ac0120032001470d000b200028020021020b20002001360204200210280b20000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141e7cc99334f0d01200141286c102721040b2000200436020020002004200241286c6a220336020820002004200141286c6a36020c2000200336020420000f0b1003000b9e0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241586a200341586a220310692001200128020441586a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d401024020002802002201450d00200110280b20000be10301027f230041a0066b22032400200341a0046a418002200028020020002802042001280208200141016a20012d0000220041017122041b2001280204200041017620041b109d01410021010340200341c0016a20016a200341a0046a2001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a413010181a200341a0046a41c0006a2100410021010340200341c0016a20016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a41306a2204413010181a20034180036a41e000200341c0016a41c00110191a200341a0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c00020034180036a413010181a200341e0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c0002004413010181a20034180036a41e000200341c00110191a200341c0016a41c001200341c001200241c001101a1a200341a0066a24000b8f0101017f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b200141003602182001411c6a220342003702002001200228021836021820032002411c6a280200360200200141206a200241206a22032802003602002001200229031037031020034100360200200242003703180b5001017f230041106b220224002000290300100b200241046a2001106b420120022802042200200228020820006b10101a024020022802042200450d0020022000360208200010280b200241106a24000b6501017f230041106b22022400200041003602082000420037020020024100360204200241046a200110ad011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a200110ae011a200241106a24000b970102047f027e230041206b220224002000290300100b2002210341022104200121050340200541086a290300210620052903002107410f21000340200320006a20073c000020074208882006423886842107200642088821062000417f6a2200417f470d000b200541106a2105200341106a21032004417f6a22040d000b2002101141d5cf001012200141f0cf00106d200241206a24000b860103037f027e017f230041206b2202240020022103410221040340200041086a290300210520002903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200041106a2100200341106a21032004417f6a22040d000b20024120101c20011012200241206a24000b8d0103037f027e017f230041206b2202240020022103410221040340200141086a290300210520012903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200141106a2101200341106a21032004417f6a22040d000b0240200210130d00410041f2cf0010000b200241206a24000ba70101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a20034200370300200341146a200310701a02402004418004490d002002450d00200210230b200341206a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000bef0101047f230041c0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b2003413c6a2205200220046a360200200320023602382003200236023420034200370328200341346a200341286a10701a200341346a200341276a10761a200341346a200341266a10761a200341186a20052802003602002003200329023437031020032001370308200320003703002003200329032820032d002720032d0026107702402004418004490d002002450d00200210230b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b6602017f017e230041e0006b220424002000290300210520044200370358200420053703502004200137034820042001370300200441106a200141001078200410493703302004100a360238200441d0006a2001200441c8006a20041079200441e0006a24000b810201047f230041106b2203210420032400024020020d00200341406a2202220324000b200341406a22032400024020014100200341c000101b220541c100490d002001410020051021220341c000101b1a0b200441003602002004200341c0006a220636020c2004200336020820042003360204200441046a2004107c1a02402004280200450d00410041ead40010000b2004200636020c2004200336020820042003360204200441046a200210c5011a0240200541c100490d00200310230b20002002290310370300200041186a200241286a290300370300200041106a200241206a290300370300200041086a200241186a290300370300200441106a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c022003410010c601450d0041004194d00010000b20044190026a24000b850201047f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341cc006a2202200420056a360200200320043602482003200436024420034200370338200341c4006a200341386a10701a200341003602342003420037022c200341c4006a2003412c6a107b1a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a20032903382003412c6a105b0240200328022c2202450d0020032002360230200210280b02402005418004490d002004450d00200410230b200341d0006a24000b7701037f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c107d02402000280208200028020422036b2001280204200128020022046b22014f0d00410041c0d4001000200028020421030b20042003200110041a2000200028020420016a360204200241106a240020000b7401047f2000280204210241002103410021040340024020022000280208490d00410041a2d5001000200028020421020b20022c000021052000200241016a2202360204200541ff0071200441ff01712204742003722103200441076a21042002210220054100480d000b2001200336020020000b3a01027f024020012000280204200028020022026b22034d0d002000200120036b10a4010f0b0240200120034f0d002000200220016a3602040b0bbc0102047f017e230041206b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c20034200370308200341146a200341086a10701a200341146a200341076a10761a2003290308210620032d000721022000100b20062002410047100e02402005418004490d002004450d00200410230b200341206a24000be90102037f047e230041306b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360228200320023602242003200220046a36022c20034200370318200341246a200341186a10701a200341246a200341106a1080011a200341246a200341086a1080011a200341246a20031080011a200329030021052003290308210620032903102107200329031821082000100b2008200720062005100f02402004418004490d002002450d00200210230b200341306a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000bdb0101047f230041c0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b2003413c6a2202200420056a36020020032004360238200320043602342003410036023020034200370228200341346a200341286a1082011a200341206a2002280200360200200320032902343703182003200137031020032000370308200341086a200341286a106a200341286a1083011a02402005418004490d002004450d00200410230b200341c0006a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010840102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108501200341206a22032001470d000b0b200241106a240020000b1b0002402000280200450d00200010d501200028020010280b20000b8c0101037f0240200120002802042202200028020022036b41057522044d0d002000200120046b10df010f0b0240200120044f0d0002402002200320014105746a2203460d002002416c6a2101034002402001410c6a2204280200417f460d00200110d6011a0b2004417f360200200141746a2104200141606a210120042003470d000b0b200020033602040b0b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10e501200241106a24000bb30101047f230041306b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c2003410036021020034200370208200341146a200341086a1087011a2000100b200341206a200341086a1046200341086a1088011a02402005418004490d002004450d00200410230b200341306a24000b7701027f230041106b220224002002410036020020002002107c1a2001200228020010890102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108a01200341c0006a22032001470d000b0b200241106a240020000b1b0002402000280200450d002000108002200028020010280b20000bb00101047f230041106b2202240002400240200120002802042203200028020022046b41067522054d0d002000200120056b1081020c010b200120054f0d0002402003200420014106746a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f360200200141786a2105200141406a210120052004470d000b0b200020043602040b200241106a24000b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10f501200241106a24000bf30101057f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341c4006a41086a2202200420056a3602002003200436024820032004360244200341386a41003602002003420037033020034200370328200341c4006a200341286a1070200341286a41086a2206108c011a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a200341286a105d2006108d011a02402005418004490d002004450d00200410230b200341d0006a24000b5c01027f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c10c90102402001280200220320012802042201460d0003402000200310ca011a200341306a22032001470d000b0b200241106a240020000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341506a220310cc0120032001470d000b200028020021020b20002001360204200210280b20000b9e0101037f230041e0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360258200320023602542003200220046a36025c200341d4006a200341086a108f011a2000100b200341086a104402402004418004490d002002450d00200210230b200341e0006a24000b890100200020011070200141086a1090012001410c6a109001200141106a109001200141146a109001200141186a1090012001411c6a109001200141206a109001200141246a109001200141286a1090012001412c6a109001200141306a109101200141326a109101200141346a109001200141386a1090012001413c6a109001200141c0006a1090010b4001017f02402000280208200028020422026b41034b0d00410041c0d4001000200028020421020b20012002410410041a2000200028020441046a36020420000b4001017f02402000280208200028020422026b41014b0d00410041c0d4001000200028020421020b20012002410210041a2000200028020441026a36020420000b9d0101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a2003290308100b02402004418004490d002002450d00200210230b200341206a24000ba00201047f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a4200370300200342003703082003420037030041002102200421050c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a42003703002003420037030820034200370300200220046a21052004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a2003109401200341386a2005360200200341346a200241206a360200200320023602302003200137032820032000370320200341206a2003106c02402004418004490d002002450d00200210230b200341c0006a24000be20104017f017e017f027e230041106b22032400024020002001460d0042002104411021054200210603400240024020054102490d00200642088620044238888421062005417f6a2105200420003100008442088621040c010b024020054101460d004100418ad60010000b20003100002107200220063703082002200420078437030041102105200241106a210242002104420021060b200041016a22002001470d000b20054110460d00200320042006200541037441786a4100200541014b1b102b2002200341086a290300370308200220032903003703000b200341106a24000be60101037f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a42003703002003420037030820034200370300410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a420037030020034200370308200342003703002004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a200310940120032003106e02402004418004490d002002450d00200210230b200341c0006a24000b6201027f0240200028028002220241086a418102490d00410041a5d000100020002802800221020b200020026a2103410721020340200320026a20013c0000200142088821012002417f6a2202417f470d000b200020002802800241086a360280020b5001017f23004190026b22062400200641046a200410980141a68203200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a3602082002200036020420022000360200200220011099011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41034a0d00410041c2d0001000200028020421020b20022001410410041a2000200028020441046a36020420000bb00401047f23004180036b220624000240200141e03f4b0d00200541ff014a0d00200641c0026a410041c00010011a200620053a00bf02200641003a00be02200620013a00bd02200620014108763a00bc0220064188026a42abb38ffc91a3b3f0db0037030020064180026a42ffa4b988c591da829b7f370300200641f8016a42f2e6bbe3a3a7fda7a57f370300200642e7cca7d0d6d0ebb3bb7f3703f001200642003703e801200641003602e001200641a0016a200641c0026a41c000109e01200641a0016a20022003109e01200641a0016a200641bc026a4103109e01200641a0016a20042005109e01200641a0016a200641bc026a41036a22074101109e01200641a0016a20064190026a109f01200641f0006a4100412110011a2001411f6a22034120490d0020034105762108200041606a2109410121000340410021030340200641f0006a20036a220220022d000020064190026a20036a2d0000733a0000200341016a22034120470d000b200620003a009001200642abb38ffc91a3b3f0db00370368200642ffa4b988c591da829b7f370360200642f2e6bbe3a3a7fda7a57f370358200642e7cca7d0d6d0ebb3bb7f37035020064200370348200641003602402006200641f0006a4121109e01200620042005109e01200620074101109e012006200641f0006a109f012009200041057422036a200641f0006a200120036b2203411f7520037141206a10041a20002008462103200041016a21002003450d000b0b20064180036a24000b6f01027f02402002450d0020002802402103034020012d000021042000200341016a360240200020036a20043a000002402000280240220341c000470d00200010a0014100210320004100360240200020002903484280047c3703480b200141016a21012002417f6a22020d000b0b0b5b01037f200010a101200041d0006a2102410021030340411820034103746b2104410021000340200120006a200220006a2802002004763a0000200041046a22004120470d000b200141016a2101200341016a22034104470d000b0bbe04010c7f230041a0026b2201240041002102410021030340200141206a20026a2000200341ff017122046a280000220341187420034180fe03714108747220034108764180fe037120034118767272360200200441046a2103200241046a220241c000470d000b41002102200128022021050340200141206a20026a220341c0006a200341386a2802002204410f772004410d77732004410a7673200341246a2802006a20056a200341046a28020022034119772003410e77732003410376736a36020020032105200241046a220241c001470d000b200041d0006a2102410021030340200120036a200220036a280200360200200341046a22034120470d000b41002104200128020c2106200128021c210720012802182105200128021421032001280210210820012802082109200128020421022001280200210a03402005210b200321052009220c2002220972200a220271200c200971722002411e772002411377732002410a77736a200b20082203417f7371200520037172200141206a20046a2802006a2003411a772003411577732003410777736a200441a4d2006a2802006a20076a22086a210a200820066a2108200b2107200c2106200441046a2204418002470d000b2001200b36021c20012005360218200120033602142001200836021020012009360208200120023602042001200a3602002001200c36020c200041d0006a2104410021030340200420036a22022002280200200120036a2802006a360200200341046a22034120470d000b200141a0026a24000bea0102027f027e2000200028024022016a22024180013a000002402001ad220342017c423842c00020014138491b22045a0d00200241016a21012003427f8520047c21030340200141003a0000200141016a21012003427f7c22034200520d000b0b0240200028024022014138490d00200010a00120004100413810011a200028024021010b200020002903482001410374ad7c22033c003f20002003370348200020034208883c003e200020034210883c003d200020034218883c003c200020034220883c003b200020034228883c003a200020034230883c0039200020034238883c0038200010a0010b6b03027f017e017f20012802042202200128020022036b41286dad2104200028020021010340200141016a2101200442ff005621052004420788210420050d000b20002001360200024020032002460d0003402000200310a6011a200341286a22032002470d000b0b20000b5f01027f230041106b220224002002200128020420012802006b41286d36020c20002002410c6a10a8011a02402001280200220320012802042201460d0003402000200310a9011a200341286a22032001470d000b0b200241106a240020000ba30201067f230041206b2202240002400240024020002802082203200028020422046b2001490d000340200441003a00002000200028020441016a22043602042001417f6a22010d000c020b0b2004200028020022056b220620016a2207417f4c0d012002411c6a200041086a360200410021040240200320056b220341017422052007200520074b1b41ffffffff07200341ffffffff03491b2203450d002003102721040b2002200436020c2002200420036a3602182002200420066a22043602100340200441003a0000200441016a21042001417f6a22010d000b2002200436021420002002410c6a10a5010240200228021420022802102201460d00200220013602140b200228020c2201450d00200110280b200241206a24000f0b2000103f000b890101037f200120012802042000280204200028020022026b22036b2204360204024020034101480d0020042002200310041a200128020421040b200028020021032000200436020020012003360204200028020421042000200128020836020420012004360208200028020821042000200128020c3602082001200436020c200120012802043602000b5802027f017e2000200110a70122022802002001411c6a28020022006a200128021822036b41086a2101200020036bad21040340200141016a2101200442ff005621002004420788210420000d000b2002200136020020020b7403017f017e017f200128020420012d0000220241017620024101711bad2103200028020021020340200241016a2102200342ff005621042003420788210320040d000b200020023602000240200128020420012d0000220441017620044101711b2204450d002000200420026a3602000b20000b860102027f017e230041106b220224002000280204210320013502002104034020022004a741ff0071200442ff00562201410774723a000f0240200028020820036b41004a0d00410041c2d0001000200028020421030b2004420788210420032002410f6a410110041a2000200028020441016a220336020420010d000b200241106a240020000b19002000200110aa01200141106a109a01200141186a10ab010ba30101037f230041106b220224002002200128020420012d0000220341017620034101711b36020c20002002410c6a10a8011a0240200128020420012d00002203410176200341017122041b2203450d002001280208200141016a20041b210402402000280208200028020422016b20034e0d00410041c2d0001000200028020421010b20012004200310041a2000200028020420036a3602040b200241106a240020000b7801037f230041106b220224002002200128020420012802006b36020c20002002410c6a10a8011a02402000280208200028020422036b2001280204200128020022046b22014e0d00410041c2d0001000200028020421030b20032004200110041a2000200028020420016a360204200241106a240020000b3401017f024020012802182202450d002001411c6a2002360200200210280b024020012d0000410171450d00200128020810280b0b960103037f017e017f230041106b2202240020012802042203200128020022046b410575ad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402000200028020041086a3602002002200036020c200441086a2002410c6a410110b001200441206a22042003470d000b0b200241106a240020000b7501027f230041106b220224002002200128020420012802006b4105753602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20002003109a011a200341086a2002410c6a410110af01200341206a22032001470d000b0b200241106a240020000b5401017f230041106b22032400200128020021012003200028021036020c20012003410c6a10a8011a02402000280210417f470d0010b101000b20012000109c011a2001200041046a10ba011a200341106a24000b6503027f017e017f20012802002203280200210120002802102204ad21050340200141016a2101200542ff005621062005420788210520060d000b2003200136020002402004417f470d0010b101000b2003200141046a3602002003200041046a10b2011a0b05001003000b980103037f017e017f230041106b2202240020012802042203200128020022046b41386dad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402002200036020c20042002410c6a410110b301200228020c2201200128020041026a360200200441386a22042003470d000b0b200241106a240020000b8c0103037f017e017f230041106b2203240020012802002204280200210120002802302205ad21060340200141016a2101200642ff005621072006420788210620070d000b200420013602002003200436020802402005417f470d0010b101000b200541027441dcc2006a28020021012003200341086a36020c2003410c6a20002001110200200341106a24000b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041216a3602000b220020002802002802002200200028020041226a3602002000200141246a10a7011a0b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041206a3602000b20002000280200280200220041e100410120012802001b20002802006a3602000b7801027f230041106b220224002002200128020420012802006b41386d3602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20032002410c6a410110bb01200228020c200341346a10bc011a200341386a22032001470d000b0b200241106a240020000b6f01017f230041106b2203240020012802002101200320002802303602082001200341086a10a8011a20032001360204024020002802302201417f470d0010b101000b2001410274418cc3006a28020021012003200341046a36020c2003410c6a20002001110200200341106a24000b4001017f02402000280208200028020422026b41014a0d00410041c2d0001000200028020421020b20022001410210041a2000200028020441026a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b3f01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b2002200141216a10c101200141246a10aa011a0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004120470d000b0b6201027f230041106b220224004100210320002802002802002100200220012802004100473a000f20002002410f6a10be011a024020012802002201450d0003402000200120036a10be011a200341016a220341e000470d000b0b200241106a24000bbd0101027f230041c0006b22022400024020002001107c200141086a10702200280208200028020422036b411f4b0d00410041c0d4001000200028020421030b200241206a2003412010041a2000200028020441206a360204200241206a200241206a41206a2002109401200141286a200241186a290300370300200141206a200241106a290300370300200141186a2002290308370300200120022903003703102000200141306a1076200141316a10762101200241c0006a240020010b5001017f23004190026b22062400200641046a200410c70141aaff00200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a36020820022000360204200220003602002002200110c8011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b6b01037f0240200120002802042202200028020022036b41306d22044d0d002000200120046b10cb010f0b0240200120044f0d00024020022003200141306c6a2201460d00200041086a210403402004200241506a220210cc0120022001470d000b0b200020013602040b0b20002000200110cd01200141106a1070200141186a10cd01200141246a10cd010bf20101067f230041206b22022400200041086a210302400240024020002802082204200028020422056b41306d2001490d0003402003200510ce012000200028020441306a22053602042001417f6a22010d000c020b0b2005200028020022066b41306d220720016a220541d6aad52a4f0d012002410c6a200420066b41306d220441017422062005200620054b1b41d5aad52a200441aad5aa15491b2007200310cf0122052802082103200541106a280200210403402004200310ce012005200528020841306a22033602082001417f6a22010d000b2000200510d001200510d1011a0b200241206a24000f0b2000103f000b4700024020012d0024410171450d002001412c6a28020010280b024020012d0018410171450d00200141206a28020010280b024020012d0000410171450d00200128020810280b0ba90401067f230041206b220224002002410036021c200242003702142000200241146a107b1a0240024002402002280218220320022802142204460d00200241106a410036020020024200370308200320046b220541704f0d02024002402005410a4b0d00200220054101743a0008200241086a41017221060c010b2005410f72220741016a102721062002200536020c2002200741026a360208200220063602100b0340200620042d00003a0000200641016a2106200441016a22042003470d000b200641003a0000024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d01200228021010280c010b200241106a410036020020024200370308410021040340200241086a20046a4100360200200441046a2204410c470d000b024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d00200228021010280b024020022802142204450d0020022004360218200410280b200241206a240020000f0b200241086a102e000ba30101027f20014200370300200141086a4200370300410021020340200120026a4100360200200241046a2202410c470d000b2001420037031820014200370310200141206a4100360200200141186a2103410021020340200320026a4100360200200241046a2202410c470d000b200142003702242001412c6a4100360200200141246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141d6aad52a4f0d01200141306c102721040b2000200436020020002004200241306c6a220336020820002004200141306c6a36020c2000200336020420000f0b1003000b9f0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241506a200341506a220310d2012001200128020441506a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d301024020002802002201450d00200110280b20000bc10101027f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b2001200229031037031020012002290318370318200141206a200241206a280200360200200241186a2104410021030340200420036a4100360200200341046a2203410c470d000b200120022902243702242001412c6a2002412c6a280200360200200241246a2102410021030340200220036a4100360200200341046a2203410c470d000b0b3d01027f02402000280208220120002802042202460d0003402000200141506a22013602082000280210200110cc01200028020822012002470d000b0b0b3d01027f02402000280208220120002802042202460d0003402000200141586a22013602082000280210200110ac01200028020822012002470d000b0b0b5d01037f02402000280204220120002802002202460d002001416c6a2101034002402001410c6a2203280200417f460d00200110d6011a0b2003417f360200200141746a2103200141606a210120032002470d000b0b200020023602040b1b0002402000280200450d00200010d701200028020010280b20000b7d01057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f36020020022003472104200241486a210220040d000b0b20002003360204200141106a24000b02000b02000b1a00024020012d0024410171450d002001412c6a28020010280b0b02000b02000b0800200110de011a0b3701027f024020002802042201450d00200120012802042202417f6a36020420020d00200120012802002802081101002001103d0b20000b9e0201057f230041206b2202240002400240024020002802082203200028020422046b4105752001490d00034020044200370300200441186a4200370300200441106a4200370300200441086a42003703002000200028020441206a22043602042001417f6a22010d000c020b0b2004200028020022056b410575220620016a220441808080c0004f0d012002410c6a200320056b220341047522052004200520044b1b41ffffff3f200341e0ffffff07491b2006200041086a10e00122032802082104034020044200370300200441186a4200370300200441106a4200370300200441086a4200370300200441206a21042001417f6a22010d000b200320043602082000200310e101200310e2011a0b200241206a24000f0b2000103f000b6801017f410021042000410036020c200041106a2003360200024002402001450d00200141808080c0004f0d012001410574102721040b200020043602002000200420024105746a22033602082000200420014105746a36020c2000200336020420000f0b1003000bab0101047f2001280204210202402000280204220320002802002204460d000340200241606a200341606a2205290300370300200241686a200341686a10e3011a2001200128020441606a22023602042005210320052004470d000b200028020021040b2000200236020020012004360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b2101017f2000200028020410e401024020002802002201450d00200110280b20000b7e01027f2000417f360210200041003a0000024020012802102202417f460d0020004100360204200041086a22034200370200200020012802043602042003200141086a2802003602002000410c6a2001410c6a2203280200360200200020012802003602002000200236021020034100360200200142003702040b20000b5601037f0240200028020822022001460d0003402000200241606a22033602080240200341186a2204280200417f460d002002416c6a10d6011a200028020821030b2004417f3602002003210220032001470d000b0b0b960101017f230041106b220324000240024020020d002003410c6a410036020020034200370204200020031090011a2000200341046a220210e6011a02402001280210417f460d00200141046a10d6011a0b2001200329020037020020014100360210200141086a20032902083702002003410036020420034200370208200210d6011a0c010b410041f4d50010000b200341106a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010e70102402001280200220320012802042201460d00034020022000360204200220033602082002200341346a36020c200241086a200241046a10e801200341386a22032001470d000b0b200241106a240020000bad0101047f230041106b2202240002400240200120002802042203200028020022046b41386d22054d0d002000200120056b10e9010c010b200120054f0d00024020032004200141386c6a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f36020020012004472105200141486a210120050d000b0b200020043602040b200241106a24000b4d01037f230041106b2202240020002802002103200128020021042002410036020c20042002410c6a107c1a20042003200228020c10f501200128020020002802041091011a200241106a24000be40101057f230041206b2202240002400240024020002802082203200028020422046b41386d2001490d00034020044100413810011a2000200028020441386a22043602042001417f6a22010d000c020b0b2004200028020022056b41386d220620016a220441a592c9244f0d012002410c6a200320056b41386d220341017422052004200520044b1b41a492c92420034192c9a412491b2006200041086a10ea01220328020821040340200441004138100141386a21042001417f6a22010d000b200320043602082000200310eb01200310ec011a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141a592c9244f0d01200141386c102721040b2000200436020020002004200241386c6a220336020820002004200141386c6a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a10ed01200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f200010ee01024020002802002201450d00200110280b20000baf0101067f230041106b22042400024020022001460d00200241486a2102200328020021050340200541486a220641003a0000200641306a2207417f3602000240200241306a22082802002209417f460d002004410f6a20062002200941027441c0d5006a280200110300200720082802003602000b2005417c6a200241346a2f01003b01002003200328020041486a220536020020022001472106200241486a210220060d000b0b200441106a24000b7701057f230041106b2201240002402000280208220220002802042203460d0003402000200241486a22023602080240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a280200110200200028020821020b2004417f36020020022003470d000b0b200141106a24000b0b0020012002412110041a0b0b0020012002412110041a0b480020012002412210042201412c6a2002412c6a28020036020020012002290224370224200241246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b0b0020012002412110041a0b3c0020012002290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a2902003702000b130020012002290200370200200242003702000b7f01017f230041306b220324000240024020020d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441003602300c010b20002001200210f6010b200341306a24000b820101017f230041306b220324000240024020024101470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441013602300c010b20002001200210f7010b200341306a24000ba00201027f230041c0006b220324000240024020024102470d00200341386a410036020020034200370230412421022003410c6a41246a210403402003410c6a20026a4100360200200241046a22024130470d000b41002102034020002003410c6a20026a10761a200241016a22024121470d000b20002003412d6a10f801200410cd011a024020012802302202417f460d002003413f6a2001200241027441a8d5006a2802001102000b20012003410c6a412210042200412c6a200441086a280200360200200020042902003702244124210203402003410c6a20026a4100360200200241046a22024130470d000b2000410236023020032d0030410171450d01200341386a28020010280c010b20002001200210f9010b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b820101017f230041306b220324000240024020024103470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441033602300c010b20002001200210fa010b200341306a24000bbc0101017f230041306b220324000240024020024104470d0041002102034020002003410f6a20026a10761a200241016a22024120470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b2001200329000f37000020014104360230200141186a2003410f6a41186a290000370000200141106a2003410f6a41106a290000370000200141086a2003410f6a41086a2900003700000c010b20002001200210fb010b200341306a24000b840101017f230041106b220324000240024020024105470d00200342003702042000200341046a10fc011a024020012802302202417f460d002003410f6a2001200241027441a8d5006a2802001102000b200120032902043702002001410536023020034200370204200341046a10de011a0c010b410041f4d50010000b200341106a24000be30102037f017e230041106b220224002000200241086a10761a0240024020022d0008450d000240200128020022030d0041ec001027220341e0d500360200200342003702042003410c6a410041e000100121042001290200210520012004360200200120033602042002420037020020022005370208200241086a10de011a200210de011a200128020021030b4100210103402000200320016a10761a200141016a220141e000470d000c020b0b20012902002105200142003702002002420037020020022005370208200241086a10de011a200210de011a0b200241106a240020000b08002000103c10280b02000b0600200010280b800101057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f360200200241786a2104200241406a210220042003470d000b0b20002003360204200141106a24000be60101057f230041206b2202240002400240024020002802082203200028020422046b4106752001490d0003402004410041c00010011a2000200028020441c0006a22043602042001417f6a22010d000c020b0b2004200028020022056b410675220620016a220441808080204f0d012002410c6a200320056b220341057522052004200520044b1b41ffffff1f200341c0ffffff07491b2006200041086a1082022203280208210403402004410041c000100141c0006a21042001417f6a22010d000b200320043602082000200310830220031084021a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141808080204f0d012001410674102721040b200020043602002000200420024106746a22033602082000200420014106746a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a108502200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f2000108602024020002802002201450d00200110280b20000bb10101057f230041106b22042400024020022001460d00200241406a2102200328020021050340200541406a22052002290300370300200541386a2206417f360200200541086a220541003a00000240200241386a22072802002208417f460d002004410f6a2005200241086a200841027441c0d5006a280200110300200620072802003602000b2003200328020041406a220536020020022001472106200241406a210220060d000b0b200441106a24000b7e01067f230041106b2201240002402000280208220220002802042203460d0003402000200241406a22043602080240200441386a22052802002206417f460d002001410f6a200241486a200641027441a8d5006a280200110200200028020821040b2005417f3602002004210220042003470d000b0b200141106a24000bab040020001043024020012000520d00024002400240024002400240024002400240200242ffffff95cdebd4d942550d000240200242fffffffffff698d942550d0002402002428fa9d9d9dd8c99d6ba7f550d00200242808080e8b2edc0d38b7f510d032002428080f9d4a98499dc9a7f520d0a20012001106f0f0b20024290a9d9d9dd8c99d6ba7f510d0320024280808080daac9bd6ba7f520d09200120011092010f0b0240200242ffffffffd3c4a2d942550d002002428080808080f798d942510d042002428080b8f6a4979ad942520d0920012001107f0f0b20024280808080d4c4a2d942510d04200242f0aadf8bcde9add942520d0820012001108b010f0b0240200242ffffacd68db8baf154550d000240200242ffdfde8293fad6d942550d0020024280808096cdebd4d942510d0620024280808080b6f7d6d942520d0920012001107e0f0b20024280e0de8293fad6d942510d06200242808080c093fad6d942520d08200120011081010f0b0240200242ffffffcfb2b3bb9932550d002002428080add68db8baf154510d072002428080add68d959ba955520d082001200110710f0b02402002428080add68d95abd1ca00510d00200242808080d0b2b3bb9932520d08200120011093010f0b2001200110720f0b2001200110730f0b200120011095010f0b20012001107a0f0b2001200110750f0b20012001108e010f0b200120011086010f0b2001200110740f0b2001428080808080c0bad847510d0041004201101d0b0b0d00101e2000200120021087020b0be71606004180c0000b4a6661696c656420746f20616c6c6f6361746520706167657300656e636f756e7465726564206e6f6e2d62617365363420636861726163746572005055425f424c535f00000000000000000041cac0000bdf0200000000000030303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839396461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400000100000002000000030000000400000005000000060000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000700000008000000090000000a0000000b0000000c00000000000000000041a9c3000b81080000000000000000000000020000000300000005000000070000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d000000710000007f00000083000000890000008b00000095000000970000009d000000a3000000a7000000ad000000b3000000b5000000bf000000c1000000c5000000c7000000d3000000010000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d00000071000000790000007f00000083000000890000008b0000008f00000095000000970000009d000000a3000000a7000000a9000000ad000000b3000000b5000000bb000000bf000000c1000000c5000000c7000000d1000000404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e4040403f3435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f101112131415161718194040404040401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e40403435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f10111213141516171819404040403f401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132334040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404077726f6e6720656e636f64656420737472696e672073697a65005349475f424c535f00424c535f5349475f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f4e554c5f00424c535f504f505f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f504f505f0041aacb000b820800bbc622db0af03afbef1a7af93fe8556c58ac1b173f3a4ea105b974974f8c68c30faca94f8c63952694d79731a7d3f117cac239b9d6dc54ad1b75cb0eba386f4e3642accad5b95566c907b51def6a8167f2212ecfc8767daaa845d555681d4d116e756d626572206f662066696e616c697a657273206578636565647320746865206d6178696d756d20616c6c6f7765640072657175697265206174206c65617374206f6e652066696e616c697a6572005055425f424c53005349475f424c530046696e616c697a6572206465736372697074696f6e2067726561746572207468616e206d617820616c6c6f7765642073697a65007075626c6963206b65792073686f756c642073746172742077697468205055425f424c530070726f6f66206f6620706f7373657373696f6e207369676e61747572652073686f756c642073746172742077697468205349475f424c530073756d206f662077656967687473206361757365732075696e7436345f74206f766572666c6f77006475706c6963617465207075626c6963206b65790070726f6f66206f6620706f7373657373696f6e206661696c65640066696e616c697a657220706f6c696379207468726573686f6c64206d7573742062652067726561746572207468616e2068616c66206f66207468652073756d206f662074686520776569676874732c20616e64206c657373207468616e206f7220657175616c20746f207468652073756d206f66207468652077656967687473006665617475726520646967657374206163746976617465643a20000a0070726f746f636f6c2066656174757265206973206e6f7420616374697661746564004b5620777269746520726566757365640062655f6b65795f73747265616d3a206b657920746f6f206c61726765006461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400656e636f64656420626173653634206b657920697320746f6f2073686f72740062617365363420656e636f6465642074797065206d75737420626567696e2066726f6d20636f72726573706f6e64696e6720707265666978006465636f6465642073697a65200020646f65736e2774206d61746368207374727563747572652073697a652000202b20636865636b73756d2000636865636b73756d206f662073747275637475726520646f65736e2774206d6174636800982f8a4291443771cffbc0b5a5dbb5e95bc25639f111f159a4823f92d55e1cab98aa07d8015b8312be853124c37d0c55745dbe72feb1de80a706dc9b74f19bc1c1699be48647beefc69dc10fcca10c246f2ce92daa84744adca9b05cda88f97652513e986dc631a8c82703b0c77f59bff30be0c64791a7d55163ca0667292914850ab72738211b2e0041acd3000b8a03fc6d2c4d130d385354730a65bb0a6a762ec9c281852c7292a1e8bfa24b661aa8708b4bc2a3516cc719e892d1240699d685350ef470a06a1016c1a419086c371e4c774827b5bcb034b30c1c394aaad84e4fca9c5bf36f2e68ee828f746f63a5781478c8840802c78cfaffbe90eb6c50a4f7a3f9bef27871c67075626c6963206b65792068617320612077726f6e672073697a65006461746173747265616d20617474656d7074656420746f207265616420706173742074686520656e640048797065727669736f722072657475726e656420756e657870656374656420636f64652068617368207374727563742076657273696f6e00676574000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e00000000000000000000001f00000020000000210000002200000023000000696e76616c69642076617269616e7420696e64657800756e6578706563746564206572726f7220696e2066697865645f627974657320636f6e7374727563746f72000041000b04d02c0000000000000000000001d00f01b5c60200c9932b371aca3ed471f6940ab8a048ff9d9d9ca4677bebaeb087aef6e8eee53003000000020000000100000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f010000000000eab0c7005b060000000000000000000000 +DMLOG CREATION_OP ROOT 0 +DMLOG RAM_OP 0 sysio abi update setabi sysio 420252 573 +DMLOG KV_OP INS 0 sysio sysio 49446 c7b0ea0000000000 0000000000eab0c7e22bb59751ccd78ae3af94a491aacf0c712b334ddd155ba54a4319e949d3979040a21bba992a060003000000 +DMLOG RAM_OP 0 sysio:49446:c7b0ea0000000000 table_row add primary_index_add sysio 420424 172 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":2,"value_ex":257872,"consumed":44560},"cpu_usage":{"last_ordinal":2,"value_ex":24307,"consumed":4101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 3 1b21c787d18502663f0c5eb907d55659f7fbd17d151d53af4a16ddd63f22492b03000000020000000100000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f0101d00fd00f0000000000000000db0a00000000000001010000010000000000eab0c751712dd441174d2b031b3cef8950abdd28ddf740a89e4febafee976fd337799304000000000000000400000000000000010000000000eab0c7040000000000000001010000000000eab0c70000000000eab0c700000000b863b2c2010000000000eab0c700000000a8ed3232d6140000000000eab0c7cc140e737973696f3a3a6162692f312e320117626c6f636b5f7369676e696e675f617574686f726974792276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f76301e086162695f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320b616269686173685f6b65790001056f776e65720675696e74363408616374697661746500010e666561747572655f6469676573740b636865636b73756d32353609617574686f726974790003097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d086163636f756e7473197065726d697373696f6e5f6c6576656c5f7765696768745b5d1a626c6f636b5f7369676e696e675f617574686f726974795f76300002097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d15626c6f636b636861696e5f706172616d65746572730011136d61785f626c6f636b5f6e65745f75736167650675696e7436341a7461726765745f626c6f636b5f6e65745f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6e65745f75736167650675696e743332106e65745f75736167655f6c65657761790675696e743332136d61785f626c6f636b5f6370755f75736167650675696e7433321a7461726765745f626c6f636b5f6370755f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6370755f75736167650675696e743332196d696e5f7472616e73616374696f6e5f6370755f75736167650675696e743332186d61785f7472616e73616374696f6e5f6c69666574696d650675696e743332156d61785f7472616e73616374696f6e5f64656c61790675696e743332166d61785f696e6c696e655f616374696f6e5f73697a650675696e743332176d61785f696e6c696e655f616374696f6e5f64657074680675696e743136136d61785f617574686f726974795f64657074680675696e7431361c6d61785f616374696f6e5f72657475726e5f76616c75655f73697a650675696e7433320f6d61785f6b765f6b65795f73697a650675696e743332116d61785f6b765f76616c75655f73697a650675696e743332196d61785f6b765f7365636f6e646172795f6b65795f73697a650675696e74333209636f64655f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320c636f6465686173685f6b65790001056f776e65720675696e7436340a64656c657465617574680002076163636f756e74046e616d650a7065726d697373696f6e046e616d651366696e616c697a65725f617574686f7269747900040b6465736372697074696f6e06737472696e67067765696768740675696e7436340a7075626c69635f6b657906737472696e6703706f7006737472696e671066696e616c697a65725f706f6c6963790002097468726573686f6c640675696e7436340a66696e616c697a6572731566696e616c697a65725f617574686f726974795b5d0a6b65795f7765696768740002036b65790a7075626c69635f6b6579067765696768740675696e743136086c696e6b617574680004076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650b726571756972656d656e74046e616d650a6e65776163636f756e7400040763726561746f72046e616d65046e616d65046e616d65056f776e657209617574686f726974790661637469766509617574686f72697479107065726d697373696f6e5f6c6576656c0002056163746f72046e616d650a7065726d697373696f6e046e616d65177065726d697373696f6e5f6c6576656c5f77656967687400020a7065726d697373696f6e107065726d697373696f6e5f6c6576656c067765696768740675696e7431361270726f64756365725f617574686f7269747900020d70726f64756365725f6e616d65046e616d6509617574686f7269747917626c6f636b5f7369676e696e675f617574686f726974790c70726f64756365725f6b657900020d70726f64756365725f6e616d65046e616d6511626c6f636b5f7369676e696e675f6b65790a7075626c69635f6b65790c72657161637469766174656400010e666561747572655f6469676573740b636865636b73756d323536077265716175746800010466726f6d046e616d65067365746162690002076163636f756e74046e616d65036162690562797465730a736574616c696d6974730004076163636f756e74046e616d650972616d5f627974657305696e7436340a6e65745f77656967687405696e7436340a6370755f77656967687405696e74363407736574636f64650004076163636f756e74046e616d6506766d747970650575696e743809766d76657273696f6e0575696e743804636f64650562797465730c73657466696e616c697a657200011066696e616c697a65725f706f6c6963791066696e616c697a65725f706f6c69637909736574706172616d73000106706172616d7315626c6f636b636861696e5f706172616d657465727307736574707269760002076163636f756e74046e616d650769735f707269760575696e74380b73657470726f646b6579730001087363686564756c650e70726f64756365725f6b65795b5d0873657470726f64730001087363686564756c651470726f64756365725f617574686f726974795b5d0a756e6c696e6b617574680003076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650a757064617465617574680004076163636f756e74046e616d650a7065726d697373696f6e046e616d6506706172656e74046e616d65046175746809617574686f72697479100000002a9bed3232086163746976617465000040cbdaa8aca24a0a64656c65746561757468000000002d6b03a78b086c696e6b617574680000409e9a2264b89a0a6e65776163636f756e7400905436db6564acba0c72657161637469766174656400000000a0656dacba07726571617574680000000000b863b2c206736574616269000000ce4eba68b2c20a736574616c696d6974730000000040258ab2c207736574636f64650070d577d14cb7b2c20c73657466696e616c697a6572000000c0d25c53b3c209736574706172616d730000000060bb5bb3c207736574707269760000b05730d15bb3c20b73657470726f646b6579730000000038d15bb3c20873657470726f6473000040cbdac0e9e2d40a756e6c696e6b61757468000040cbdaa86c52d50a75706461746561757468000207616269686173680369363401056f776e6572010675696e743634086162695f6861736826c10008636f6465686173680369363401056f776e6572010675696e74363409636f64655f68617368aa3f00000000012276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f7630011a626c6f636b5f7369676e696e675f617574686f726974795f7630000000000000000000000001d00f01db15001b21c787d18502663f0c5eb907d55659f7fbd17d151d53af4a16ddd63f22492b03000000020000000100000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f010000000000eab0c7e902000000000000000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":2,"value_ex":0,"consumed":0},"average_block_cpu_usage":{"last_ordinal":2,"value_ex":833334,"consumed":100},"pending_net_usage":44560,"pending_cpu_usage":4100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1049625,"virtual_cpu_limit":200200} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":3,"value_ex":371333334,"consumed":44560},"average_block_cpu_usage":{"last_ordinal":3,"value_ex":34993056,"consumed":4101},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1050675,"virtual_cpu_limit":200400} +DMLOG ACCEPTED_BLOCK_V2 00000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f 3 1 020000000000000000eab0c70000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a860d11cf434a22369c19157fb1edaacc67fa299b999bdef41f171c9f93734d7b00000000000000000000000000000000000000000000000000000000000000000100000000000000010020739355fedc15afa29227f1e50db05fdb77ba83dc567f399a20d907e1bff7362c3b9029c4f216ef24af8d4fb86df28c9c62a1bc2676c0030ba4f046d830d9f67d0201d00f01002099270079d18c29ed9cdc5fe5e0562dd5158d2c5528e346f56276f320ceb0c9b2052345e4ee17f3cbf1e6bfb8250f72c9c322e5dd82e8f2528cba3eb05a8e8e320000e3c502868574670200247d62d500000000010000000000eab0c700000040258ab2c2010000000000eab0c700000000a8ed3232afc5020000000000eab0c70000a2c5020061736d0100000001e1012160000060017f0060027f7f0060037f7f7f0060037f7f7f017f60027f7f017e6000017e6000017f60017e0060037e7f7f0060077f7f7f7f7f7f7f017f60027e7f0060047e7e7e7e0060037e7f7f017e60017f017f60027f7f017f60077f7e7f7f7f7f7f017f60047f7f7f7f017f60067f7f7f7f7f7f017f60047e7f7f7f017f60027f7e0060047f7e7e7f0060057f7f7f7f7f017f60087f7f7f7f7f7f7f7f0060077f7f7f7f7f7f7f0060017d017d60047f7f7f7f0060037f7e7f0060047f7e7f7f0060027e7e0060067f7e7f7f7f7f017f60067f7f7f7f7f7f0060037e7e7e0002df041e03656e760c737973696f5f617373657274000203656e76066d656d736574000403656e76076d656d6d6f7665000403656e760561626f7274000003656e76066d656d637079000403656e7606736861323536000303656e7609726970656d64313630000303656e76207365745f626c6f636b636861696e5f706172616d65746572735f7061636b6564000203656e76167365745f70726f706f7365645f70726f647563657273000503656e760c63757272656e745f74696d65000603656e760d6765745f626c6f636b5f6e756d000703656e760c726571756972655f61757468000803656e760e7365745f66696e616c697a657273000903656e760b626c735f70616972696e67000a03656e760e7365745f70726976696c65676564000b03656e76137365745f7265736f757263655f6c696d697473000c03656e76197365745f70726f706f7365645f70726f6475636572735f6578000d03656e761370726561637469766174655f66656174757265000103656e76067072696e7473000103656e761469735f666561747572655f616374697661746564000e03656e7610616374696f6e5f646174615f73697a65000703656e7610726561645f616374696f6e5f64617461000f03656e76066b765f736574001003656e7614737973696f5f6173736572745f6d657373616765000303656e760a626c735f66705f6d6f64001103656e760a626c735f67325f6d6170001103656e760a626c735f67325f616464001203656e760d6765745f636f64655f68617368001303656e76087072696e74686578000203656e7611737973696f5f6173736572745f636f6465001403ed01eb010001010e0f0100040e0e010104150f0f010f16171802040f0211040402020e010f01030f0308010f02020206190e1a000f0100010001000100020100011b1c020203030f0f020e11020e030302020202021d0f1d1d1d1d1d0f1c1b1c1d0f0f021d1d0f1d0f0e02021d0f0e02021d0f0e1d0f0f0f1d1d031d141e020f0f0f0f1f030201010f0f02020f0f0f0f0f0f020f0f0303000f030202020202020f030f020f02020f0202020f1e020f020f02020f0211020e030101010e010202020202020e0211020e0f02030f02020211020e1a010303030303030303030f0303030f010101010211020e1a0120200405017001242405030100010616037f014180c0000b7f0041c8d9000b7f0041d0d9000b072e04066d656d6f727902000a5f5f646174615f656e6403010b5f5f686561705f626173650302056170706c790088020944010041010b23b401b501b601b701b801b901bd01bf01c001c201c301c4014f515355585ad801d901da01db01dc01dd01ef01f001f101f201f301f4013cfd01fe013eff010adca402eb0110001024104d105010521054105610590b0900200041013602000b0900200041003602000b7201037f024020000d0041000f0b410041002802c456200041107622016a22023602c456410041002802bc56220320006a410f6a41707122003602bc560240200241107420004b0d004100200241016a3602c456200141016a21010b024020014000417f470d0041004180c00010000b20030b8a0101037f0240200120006c22000d0041000f0b410041002802c456200041107622026a22033602c456410041002802bc56220120006a410f6a41707122043602bc560240200341107420044b0d004100200341016a3602c456200241016a21020b024020024000417f470d0041004180c00010000b024020010d0041000f0b20014100200010011a20010b02000b3601017f230041106b2200410036020c4100200028020c280200410f6a41707122003602b856410020003602bc5641003f003602c4560b990101037f41c8d600101f024041002802d05622030d0041d8d6002103410041d8d6003602d0560b0240024041002802d45622044120470d0002404184024101102222030d00417f21050c020b41002104200341002802d056360200410020033602d0560b410021054100200441016a3602d456200320044102746a22034184016a2001360200200341046a20003602000b41c8d600102020050bcc0101037f20002101024002402000410371450d00024020002d00000d00200020006b0f0b200041016a2201410371450d0020012d0000450d01200041026a2201410371450d0020012d0000450d01200041036a2201410371450d0020012d0000450d01200041046a22014103710d010b2001417c6a21022001417b6a21010340200141046a2101200241046a22022802002203417f73200341fffdfb776a7141808182847871450d000b0340200141016a210120022d00002103200241016a210220030d000b0b200120006b0b3601027f20004101200041014b1b2101024003402001102122000d014100210041002802dc582202450d0120021100000c000b0b20000b0600200010230b0600200010280b4901037f4100210302402002450d000240034020002d0000220420012d00002205470d01200141016a2101200041016a21002002417f6a22020d000c020b0b200420056b21030b20030b6a01017e4200210402400240200341ff004d0d00420021020c010b024020030d00200121040c010b02402003413f4b0d00200141c00020036bad8820022003ad220486842102200120048621040c010b2001200341406aad8621020b20002002370308200020043703000bf90101027f0240200041ffc1d72f4b0d0020012000102d0f0b200020004180c2d72f6e22024180c2d72f6c6b210302400240200041ff93ebdc034b0d00200120024130723a0000410121000c010b410221002001200241017441d0c0006a410210041a0b200120006a220020034190ce006e220141ffff037141e4006e220241017441d0c0006a410210041a200041026a2001200241e4006c6b41017441feff037141d0c0006a410210041a200041046a200320014190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041066a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041086a0bda0301027f02402001418fce004b0d000240200141e3004b0d000240200141094b0d00200020014130723a0000200041016a0f0b2000200141017441d0c0006a410210041a200041026a0f0b200141ffff0371220241e4006e21030240200141e7074b0d00200020034130723a0000200041016a200241e4007041017441d0c0006a410210041a200041036a0f0b2000200341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0f0b20014190ce006e210302400240200141bf843d4b0d0002402001419f8d064b0d00200020034130723a0000410121020c020b410221022000200341017441d0c0006a410210041a0c010b0240200141fface2044b0d002000200341ffff037141e4006e22024130723a0000200041016a2003200241e4006c6b41017441feff037141d0c0006a410210041a410321020c010b2000200141c0843d6e41017441d0c0006a410210041a200041026a200341e4007041017441d0c0006a410210041a410421020b200020026a2200200120034190ce006c6b220141ffff037141e4006e220341017441d0c0006a410210041a200041026a2001200341e4006c6b41017441feff037141d0c0006a410210041a200041046a0b05001003000bbb0101037f20004200370200200041086a22024100360200024020012d00004101710d00200020012902003702002002200141086a28020036020020000f0b02402001280204220241704f0d00200128020821030240024002402002410b490d002002410f72220441016a10272101200020023602042000200441026a360200200020013602080c010b200020024101743a0000200041016a21012002450d010b20012003200210041a0b200120026a41003a000020000f0b1003000bc50101047f20004200370200200041086a41003602000240200128020420012d00002205410176200541017122061b22052002490d00200520026b2205200320052003491b220341704f0d00200128020821070240024002402003410b490d002003410f72220841016a10272105200020033602042000200841026a360200200020053602080c010b200020034101743a0000200041016a21052003450d010b20052007200141016a20061b20026a200310041a0b200520036a41003a000020000f0b1003000bfc0101047f0240416e20016b2002490d00200041016a210820002d000041017121092000280208210a416f210b0240200141e6ffffff074b0d00410b200220016a22022001410174220b2002200b4b1b2202410f7241016a2002410b491b210b0b200a200820091b2108200b1027210202402004450d0020022008200410041a0b02402006450d00200220046a2007200610041a0b2003200520046a220a6b210902402003200a460d00200220046a20066a200820046a20056a200910041a0b02402001410a460d00200810280b200020023602082000200b4101723602002000200620046a20096a2204360204200220046a41003a00000f0b1003000bcb0101047f416f21070240416f20016b2002490d00200041016a210820002d000041017121092000280208210a0240200141e6ffffff074b0d00410b200220016a220720014101742202200720024b1b2207410f7241016a2007410b491b21070b200a200820091b210820071027210202402004450d0020022008200410041a0b02402003200520046a2209460d00200220046a20066a200820046a20056a200320096b10041a0b02402001410a460d00200810280b20002002360208200020074101723602000f0b1003000b820201067f0240200141704f0d00024020002d0000220220002802002203417e71417f6a2000280204200341017641ff007120034101711b22032001200320014b1b2201410f72220446712002410171452001410a4b22021b0d000240024020020d0041012102200041016a210520002802082106200321070c010b200441016a10272105200028020420002d00002202410176200241017122021b21072000280208200041016a20021b21060b0240200741016a2207450d0020052006200710041a0b02402002450d00200610280b02402001410b490d0020002005360208200020033602042000200441026a3602000f0b200020034101743a00000b0f0b1003000bb20101037f0240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000bb80101047f2001102621020240024020002802002203417e71417f6a410a20002d00004101711b22042000280204200341017641ff0071200341017122051b22036b2002490d002002450d012000280208200041016a20051b220420036a2001200210041a200320026a21020240024020002d0000410171450d00200020023602040c010b200020024101743a00000b200420026a41003a000020000f0b20002004200220046b20036a2003200341002002200110310b20000ba20101037f0240024002400240024020002d000022024101710d00410a2103410a210420024114460d01200241017621030c020b200028020422032000280200417e71417f6a2204470d020b2000200441012004200441004100103220002d00004101710d010b2000200341017441026a3a0000200041016a21000c010b2000200341016a360204200028020821000b200020036a220041003a0001200020013a00000bf80101037f0240200028020420002d00002204410176200441017122051b22042001490d000240024020002802002206417e71417f6a410a20051b220520046b2003490d002003450d012000280208200041016a20064101711b2105024020042001460d00200520016a220620036a2006200420016b10021a200220034100200520046a20024b1b4100200620024d1b6a21020b200520016a2002200310021a200420036a21030240024020002d0000410171450d00200020033602040c010b200020034101743a00000b200520036a41003a000020000f0b20002005200420036a20056b2004200141002003200210310b20000f0b1003000b0e002000200120022002102610370baa0101057f0240200028020420002d00002203410176200341017122041b22052001490d0002402002450d00200520016b2206200220062002491b21072000280208200041016a20041b21040240200620024d0d00200420016a2202200220076a200620076b10021a20002d000021030b200520076b2102024002402003410171450d00200020023602040c010b200020024101743a00000b200420026a41003a00000b20000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b900201047f230041106b220224002001200241056a102c2103200041086a41003602002000420037020002402003200241056a6b220441704f0d00024002402004410a4b0d00200020044101743a0000200041016a21010c010b2004410f72220541016a10272101200020043602042000200541026a360200200020013602080b0240200241056a2003460d0002400240200441077122040d00200241056a21000c010b200241056a21000340200120002d00003a0000200141016a2101200041016a21002004417f6a22040d000b0b200241056a20036b41784b0d00034020012000290000370000200141086a2101200041086a22002003470d000b0b200141003a0000200241106a24000f0b1003000b040020000b2801017f0240200028020822010d00200020002802002802101101000f0b20002001417f6a3602080b040041000b05001003000b2301017f230041206b2203240020012002200310052000200310411a200341206a24000bbd0301057e200131000f2102200131000e2103200131000d2104200020013100002205423886200542108620013100014208868420013100028442108620013100034208868420013100048442108620013100054208868420013100068422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131000742088684200131000884421086200131000942088684200131000a84421086200131000b42088684200131000c8442108622054238888437030820002002200320052004420886848442088684370300200131001f2102200131001e2103200131001d2104200041186a20013100102205423886200542108620013100114208868420013100128442108620013100134208868420013100148442108620013100154208868420013100168422064208862205428080808080e0ffff008384200542808080f8ff1f838420054280feff0783842006421086200131001742088684200131001884421086200131001942088684200131001a84421086200131001b42088684200131001c844210862205423888843703002000200220032005200442088684844208868437031020000bed0102017f017e230041206b220324002001200220031006200020033100014208862003310000421086842003310002844228862003310005420886200331000684200331000342188620033100044210868484420886842003310009420886200331000a842003310007421886200331000842108684844220862204423888843703082000200331000d420886200331000e842004200331000b421886200331000c421086848484420886200331000f84370300200041186a200331001142088620033100104210868420033100128442288620033100134220868437030020004200370310200341206a24000b0a00410020003703e0580b5101017f230041e0006b220124002001200141d8006a36020c2001200141106a3602082001200141106a360204200141046a200010451a200141106a200128020820012802046b1007200141e0006a24000b9d0801027f02402000280208200028020422026b41074a0d0041004198c2001000200028020421020b20022001410810041a2000200028020441086a2202360204200141086a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001410c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141106a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141146a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141186a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001411c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141206a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141246a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141286a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001412c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141306a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a2202360204200141326a21030240200028020820026b41014a0d0041004198c2001000200028020421020b20022003410210041a2000200028020441026a2202360204200141346a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a2202360204200141386a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602042001413c6a21030240200028020820026b41034a0d0041004198c2001000200028020421020b20022003410410041a2000200028020441046a22023602040240200028020820026b41034a0d0041004198c2001000200028020421020b2002200141c0006a410410041a2000200028020441046a36020420000b7402017f017e230041106b22022400200241046a200110470240024020022802042201200228020820016b100822034200530d0020002003370300410121010c010b41002101200041003a00000b200020013a0008024020022802042200450d0020022000360208200010280b200241106a24000baa0403047f017e027f230041206b2202240041002103200041003602082000420037020020012802042204200128020022056b410675ad21060340200341016a2103200642ff005621072006420788210620070d000b2002200336021402400240024020052004470d0041002107410021050c010b0340200228021441086a2107200541386a2802002208ad21060340200741016a2107200642ff005621032006420788210620030d000b200220073602142002200241146a3602182008417f460d02200841027441c4c2006a28020021072002200241186a360208200241086a200541086a2007110200200541c0006a22052004470d000b2000280200210720002802042105200228021421030b024002402003200520076b22084d0d002000200320086b10a40120002802002107200028020421050c010b200320084f0d002000200720036a22053602040b2002200736020c2002200736020820022007200520076b6a360210200128020420012802006b410675ad2106034020022006a741ff0071200642ff00562203410774723a00180240200228021020076b41004a0d0041004198c20010000b200642078821062007200241186a410110041a2002200228020c41016a220736020c20030d000b02402001280200220720012802042203460d0003402002200241086a360214200220073602182002200741086a36021c200241186a200241146a1048200741c0006a22072003470d000b0b200241206a24000f0b10b101000b930202047f017e230041106b2202240020002802002103024020012802002204280208200428020422056b41074a0d0041004198c2001000200428020421050b20052003410810041a2004200428020441086a360204200028020422053502302106200128020022042802042101034020022006a741ff0071200642ff00562200410774723a000b0240200428020820016b41004a0d0041004198c2001000200428020421010b2006420788210620012002410b6a410110041a2004200428020441016a220136020420000d000b20022004360204024020052802302204417f470d0010b101000b200441027441f4c2006a28020021042002200241046a36020c2002410c6a20052004110200200241106a24000b040010090b930101047f230041106b210102402000bc220241177641ff017122034195014b0d000240200341ff00490d0041ffffff03200341817f6a2203762204200271450d0120012000430000807b9238020c4100200420024100481b20026a418080807c20037571be0f0b20012000430000807b923802080240200241004e0d0043000000800f0b430000803f200020021b21000b20000bfb0e01067f02400240200041d3014b0d004130210141b0c300210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200228020021020c010b02402000417c4f0d002000200041d2016e220541d2016c22066b21004130210141f0c400210203402002200141017622034102746a220441046a2002200428020020004922041b210220012003417f736a200320041b22010d000b200241f0c4006b41027521000340200041027441f0c4006a28020020066a210241d87e2101024003402002200141ecc4006a28020022036e22042003490d042002200420036c460d012002200141f0c4006a28020022036e22042003490d042002200420036c460d01200141086a22010d000b41a303210103402002200141b07e6a22036e22042003490d042002200420036c460d012002200141ba7e6a22046e22062003410a6a2203490d042002200620046c460d012002200141bc7e6a22046e2206200341026a2203490d042002200620046c460d012002200141c07e6a22046e2206200341046a2203490d042002200620046c460d012002200141c27e6a22046e2206200341026a2203490d042002200620046c460d012002200141c67e6a22046e2206200341046a2203490d042002200620046c460d012002200141cc7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ce7e6a22046e2206200341026a2203490d042002200620046c460d012002200141d47e6a22046e2206200341066a2203490d042002200620046c460d012002200141d87e6a22046e2206200341046a2203490d042002200620046c460d012002200141da7e6a22046e2206200341026a2203490d042002200620046c460d012002200141de7e6a22046e2206200341046a2203490d042002200620046c460d012002200141e47e6a22046e2206200341066a2203490d042002200620046c460d012002200141ea7e6a22046e2206200341066a2203490d042002200620046c460d012002200141ec7e6a22046e2206200341026a2203490d042002200620046c460d012002200141f27e6a22046e2206200341066a2203490d042002200620046c460d012002200141f67e6a22046e2206200341046a2203490d042002200620046c460d012002200141f87e6a22046e2206200341026a2203490d042002200620046c460d012002200141fe7e6a22046e2206200341066a2203490d042002200620046c460d012002200141827f6a22046e2206200341046a2203490d042002200620046c460d012002200141887f6a22046e2206200341066a2203490d042002200620046c460d012002200141907f6a22046e2206200341086a2203490d042002200620046c460d012002200141947f6a22046e2206200341046a2203490d042002200620046c460d012002200141967f6a22046e2206200341026a2203490d042002200620046c460d0120022001419a7f6a22046e2206200341046a2203490d042002200620046c460d0120022001419c7f6a22046e2206200341026a2203490d042002200620046c460d012002200141a07f6a22046e2206200341046a2203490d042002200620046c460d012002200141a87f6a22046e2206200341086a2203490d042002200620046c460d012002200141ae7f6a22046e2206200341066a2203490d042002200620046c460d012002200141b27f6a22046e2206200341046a2203490d042002200620046c460d012002200141b87f6a22046e2206200341066a2203490d042002200620046c460d012002200141ba7f6a22046e2206200341026a2203490d042002200620046c460d012002200141be7f6a22046e2206200341046a2203490d042002200620046c460d012002200141446a22046e2206200341066a2203490d042002200620046c460d012002200141466a22046e2206200341026a2203490d042002200620046c460d0120022001414c6a22046e2206200341066a2203490d042002200620046c460d012002200141526a22046e2206200341066a2203490d042002200620046c460d012002200141566a22046e2206200341046a2203490d042002200620046c460d012002200141586a22046e2206200341026a2203490d042002200620046c460d0120022001415c6a22046e2206200341046a2203490d042002200620046c460d012002200141626a22046e2206200341066a2203490d042002200620046c460d012002200141646a22046e2206200341026a2203490d042002200620046c460d0120022001416a6a22046e2206200341066a2203490d042002200620046c460d0120022001416e6a22046e2206200341046a2203490d042002200620046c460d012002200141706a22046e2206200341026a2203490d042002200620046c460d012002200141746a22046e2206200341046a2203490d042002200620046c460d012002200141766a22046e2206200341026a2203490d042002200620046c460d01200220016e22042003410a6a490d04200420016c2103200141d2016a210120022003470d000b0b4100200041016a2202200241304622021b2100200520026a220541d2016c21060c000b0b1003000b20020bc20801097f230041206b220424000240024002400240200128020422050d0020004200370200200041086a41003602000c010b02402002450d00200441186a410036020020044200370310200541704f0d0220012802002102024002402005410b490d002005410f72220641016a10272101200420053602142004200641026a360210200420013602180c010b200420054101743a0010200441106a41017221010b20012002200510041a200120056a41003a000020042802182207200441106a410172220820042d0010220141017122021b2206200428021422092001410176220a20021b220b6a210c2006210102400240200b450d00200b210520062101034020012d0000410a460d01200141016a21012005417f6a22050d000b200c21010c010b2001200c460d00200141016a2205200c460d002006200b6a220220016b417e6a210b024020022001417f736a4103712202450d000340024020052d00002206410a460d00200120063a0000200141016a21010b200541016a21052002417f6a22020d000b0b0240200b4103490d000340024020052d00002202410a460d00200120023a0000200141016a21010b024020052d00012202410a460d00200120023a0000200141016a21010b024020052d00022202410a460d00200120023a0000200141016a21010b024020052d00032202410a460d00200120023a0000200141016a21010b200541046a2205200c470d000b0b20042d00102205410176210a2005410171210220042802142109200428021821070b200441106a20012007200820021b22056b20052009200a20021b6a20016b10391a2004200428021420042d00102201410176200141017122011b36020c20042004280218200820011b360208200420042902083703002000200441002003104c20042d0010410171450d01200428021810280c010b20004200370200200041086a41003602002000200541027641036c10332001280200210b410021010340200141016a20054f0d03024020034108742206200b20016a220241016a2d00007241b0c6006a2d0000220c41c000470d0041004199c00010000b0240200620022d00007241b0c6006a2d0000220841c000470d0041004199c00010000b20002008411a74200c4114744180808018717241187510360240200141026a20054f0d000240200241026a2d0000220841526a0e1001000000000000000000000000000001000b0240200620087241b0c6006a2d0000220841c000470d0041004199c00010000b2000200c411c74200841167441808080f80071724118751036200141036a20054f0d000240200241036a2d0000220241526a0e1001000000000000000000000000000001000b2008410674210c0240200620027241b0c6006a2d0000220241c000470d0041004199c00010000b20002002200c6a41187441187510360b200141046a22012005490d000b0b200441206a24000f0b200441106a102e000b410041b0ca0010001003000b2e00024041002d00f4584101710d00410041013a00f45841e8d80041bac000104e1a410d41004180c00010251a0b0b8c0101037f20004200370200200041086a4100360200024020011026220241704f0d000240024002402002410b490d002002410f72220341016a10272104200020023602042000200341026a360200200020043602080c010b200020024101743a0000200041016a21042002450d010b20042001200210041a0b200420026a41003a000020000f0b2000102e000b1900024041002d00e858410171450d0041002802f05810280b0b2e00024041002d0084594101710d00410041013a00845941f8d80041caca00104e1a410e41004180c00010251a0b0b1900024041002d00f858410171450d0041002802805910280b0b2e00024041002d0094594101710d00410041013a0094594188d90041d3ca00104e1a410f41004180c00010251a0b0b1900024041002d008859410171450d0041002802905910280b0b2e00024041002d00a4594101710d00410041013a00a4594198d90041ffca00104e1a411041004180c00010251a0b0b1900024041002d009859410171450d0041002802a05910280b0b7b01027f230041e0006b22002400024041002d00b4594101710d00410041013a00b459200041abcb0041e00010042101410042003702a859410041003602b05941a8d90041e000105741002802ac59200141e00010041a410041002802ac5941e0006a3602ac59411141004180c00010251a0b200041e0006a24000b2f01017f02402001417f4a0d002000103f000b2000200110272202360200200020023602042000200220016a3602080b1e01017f024041002802a8592201450d00410020013602ac59200110280b0b6e01027f024041002d00c4594101710d00410041013a00c459410041c004102722003602b8594100200041c0046a3602c059410021010340200020016a41003a0000200141016a220141c004470d000b200041013a00004100200020016a3602bc59411241004180c00010251a0b0b1e01017f024041002802b8592201450d00410020013602bc59200110280b0bae0102017f017e23004180016b2203240020002903002104200341e0006a20022802002200200228020420006b1040200342003703582003200437035020032001370348200341186a2003290368370300200341206a200341f0006a290300370300200341286a200341e0006a41186a2903003703002003200137030020032003290360370310200310493703302003100a360238200341d0006a2001200341c8006a2003105c20034180016a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c0220034100109701450d0041004194d00010000b20044190026a24000bbb1407027f017e0e7f017e027f027d067f23004190036b220224002000290300100b02402001410c6a2802002200200128020822036b41306d41818004490d004100418bcc00100020012802082103200128020c21000b024020002003470d00410041bccc00100020012802082103200128020c21000b20024188036a4100360200420021042002420037038003200220012903003703f802200241f8026a41086a2205200020036b41306d105e200241ec026a41dbcc00104e2106200241e0026a41e3cc00104e2107200241808080fc033602dc02200242003702d402200242003702cc02024020012802082208200128020c2209460d00200241cc026a41086a210a200741016a210b200641016a210c2002412c6a410172210d2002412c6a410172210e420021040340024020082d0000410171450d002008280204418102490d00410041ebcc0010000b2002412c6a200841186a22004100200628020420062d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200628020420062d00002200410176200041017122001b470d002006280208200c20001b2100024020030d00200e210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b4100419fcd0010000b0240200f2d0000410171450d00200228023410280b2002412c6a200841246a22004100200728020420072d0000220341017620034101711b20001030210f0240024020022802302210200f2d000022114101762212201141017122031b200728020420072d00002200410176200041017122001b470d002007280208200b20001b2100024020030d00200d210320114102490d02034020032d000020002d0000470d02200041016a2100200341016a21032012417f6a22120d000c030b0b2010450d01200228023420002010102a450d010b410041c4cd0010000b0240200f2d0000410171450d00200228023410280b0240200829031022132004427f85580d00410041fccd001000200829031021130b200241ec016a200841206a280200200841196a20082d0018220041017122031b2008411c6a280200200041017620031b105f2002410036022c2002412c6a200241ec016a410410041a200228022c211002400240024020022802d0022212450d000240024020126941014b22110d002012417f6a201071210f0c010b2010210f20102012490d002010201270210f0b20022802cc02200f4102746a2802002200450d002012417f6a2114034020002802002200450d010240200028020422032010460d000240024020110d00200320147121030c010b20032012490d00200320127021030b2003200f470d020b200041086a200241ec016a41e000102a0d000b410041a4ce0010000c010b41e8001027221541086a200241ec016a41e00010041a201541003602002015201036020420022a02dc02211620022802d80241016ab32117024002402012450d0020162012b39420175d450d010b2012410174201241034920122012417f6a7141004772722100024002402017201695104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b41022118024020002003200020034b1b22004101460d00024020002000417f6a710d00200021180c010b2000104b21180b024002400240201820022802d00222004b0d00201820004f0d02200041034921120240024020022802d802b320022a02dc0295104a2217430000804f5d201743000000006071450d002017a921030c010b410021030b0240024020120d0020006941014b0d002003410141202003417f6a676b7420034102491b21030c010b2003104b21030b20182003201820034b1b221820004f0d022018450d010b20184180808080044f0d0420184102741027210320022802cc022100200220033602cc0202402000450d00200010280b200220183602d0024100210020182103034020022802cc0220006a4100360200200041046a21002003417f6a22030d000b20022802d4022214450d01201428020421190240024020186941014b221a0d0020192018417f6a7121190c010b20192018490d00201920187021190b20022802cc0220194102746a200a3602002014280200220f450d012018417f6a211b0340200f280204210002400240201a0d002000201b7121000c010b20002018490d00200020187021000b0240024020002019470d00200f21140c010b02400240024020022802cc022000410274221c6a2203280200450d004100211d200f28020022120d01200f21030c020b20032014360200200f2114200021190c020b200f41086a2111200f210303402011201241086a41e000102a21122003280200210002402012450d002000211d0c020b20002103200028020022120d000b200021030b2014201d360200200320022802cc02201c6a28020028020036020020022802cc02201c6a280200200f3602000b2014280200220f0d000c020b0b20022802cc022100200241003602cc0202402000450d00200010280b200241003602d0020b024020022802d00222122012417f6a2200710d002000201071210f0c010b0240201020124f0d002010210f0c010b2010201270210f0b02400240024020022802cc02200f4102746a220328020022000d00201520022802d402360200200220153602d4022003200a36020020152802002200450d02200028020421000240024020122012417f6a2203710d00200020037121000c010b20002012490d00200020127021000b20022802cc0220004102746a21000c010b201520002802003602000b200020153602000b200220022802d80241016a3602d8020b2002412c6a2008412c6a280200200841256a20082d0024220041017122031b200841286a280200200041017620031b10600240200241ec016a2002412c6a10610d00410041b9ce0010000b41e00010272200200241ec016a41e00010041a20022008102f21032002200041e0006a22123602202002201236021c20022000360218200220082903103703102005200310621a024020022802182200450d002002200036021c200010280b024020032d0000410171450d00200228020810280b201320047c2104200841306a22082009470d010c020b0b1003000b02400240200420012903002213540d0020132004420188560d010b410041d4ce0010000b024020022802800322002002280284032203460d00034002402000411c6a280200200041186a2802006b41e000460d00410041a4d40010000b200041286a22002003470d000b0b2002412c6a200241f8026a10634200200228022c2200200228023020006b100c0240200228022c2200450d0020022000360230200010280b024020022802d4022200450d00034020002802002103200010282003210020030d000b0b20022802cc022100200241003602cc0202402000450d00200010280b024020072d0000410171450d00200728020810280b024020062d0000410171450d00200628020810280b200510641a20024190036a24000b5001027f230041206b2202240002402000280208200028020022036b41286d20014f0d0020002002410c6a2001200028020420036b41286d200041086a106522011066200110671a0b200241206a24000b990902047f027e230041a0016b22032400024041002802ec58220441002d00e85822054101762206200541017122051b2002490d00410041edd000100041002d00e858220541017621062005410171210541002802ec5821040b0240200141002802f05841e9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802ec5841002d00e858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41e000103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141e400460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041e0001042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000b990902047f027e230041a0016b22032400024041002802fc58220441002d00f85822054101762206200541017122051b2002490d00410041edd000100041002d00f858220541017621062005410171210541002802fc5821040b0240200141002802805941f9d80020051b2004200620051b102a450d004100418dd10010000b2003200241002802fc5841002d00f858220541017620054101711b22056b3602142003200120056a3602102003200329021037030820034194016a200341086a41014101104c200341dc006a20032802980120032d009401220541017620054101711b2201103b200341e8006a41086a200341dc006a410041c6d1001038220241086a28020036020020032002290200370368410021050340200220056a4100360200200541046a2205410c470d000b200341f8006a41086a200341e8006a41d4d1001035220241086a28020036020020032002290200370378410021050340200220056a4100360200200541046a2205410c470d000b200341d0006a41c001103b20034188016a41086a200341f8006a2003280258200341d0006a41017220032d0050220541017122021b2003280254200541017620021b1034220241086a2802003602002003200229020037038801410021050340200220056a4100360200200541046a2205410c470d000b200341306a41086a20034188016a41f3d1001035220241086a28020036020020032002290200370330410021050340200220056a4100360200200541046a2205410c470d000b200341c4006a4104103a200341106a41086a200341306a200328024c200341c4006a41017220032d0044220541017122021b2003280248200541017620021b1034220241086a28020036020020032002290200370310410021050340200220056a4100360200200541046a2205410c470d000b0240200141c401460d0041002003280218200341106a41017220032d0010220541017122021b2003280214200541017620021b10170b024020032d0010410171450d00200328021810280b024020032d0044410171450d00200328024c10280b024020032d0030410171450d00200328023810280b024020032d008801410171450d0020032802900110280b024020032d0050410171450d00200328025810280b024020032d0078410171450d0020032802800110280b024020032d0068410171450d00200328027010280b024020032d005c410171450d00200328026410280b0240200328029c0120034194016a41017220032d009401220241017122011b2205200328029801200241017620011b6a417c6a22042005460d0020002005200420056b10021a0b200341106a200041c0011042200341306a2102200341106a21014102210003404200200141086a2903002207200041014622051b21082007422088200129030020051b21074103410f20051b21050340200220056a20073c000020074208882008423886842107200842088821082005417f6a2205417f470d000b200141106a2101200241106a21022000417f6a22000d000b02402004200341306a4104102a450d0041004180d20010000b024020032d009401410171450d00200328029c0110280b200341a0016a24000beb0101037f23004190096b2202240041002103200241d0076a410041c00110011a200241d0046a410041800310011a200241d0076a41002802a859220441002802ac5920046b10041a200241d0046a200141c00110041a200241d0076a41e0006a200041e00010041a200241e0003602cc04200220003602c804200220022902c80437030020024198d900200241d0046a41c0016a1068200241086a410041c00410011a0240200241d0076a41c001200241d0046a4180034102200241086a41c004100d0d00200241086a41002802b859220041002802bc5920006b102a4521030b20024190096a240020030bcf0101067f230041206b22022400200041086a210302400240024020002802042204200028020822054f0d0020032004200110692000200028020441286a22033602040c010b2004200028020022066b41286d220741016a220441e7cc99334f0d0120032002410c6a200520066b41286d220541017422062004200620044b1b41e6cc9933200541b3e6cc19491b2007200310652204280208200110692004200428020841286a360208200020041066200410671a200028020421030b200241206a2400200341586a0f0b2000103f000b6f01027f230041106b22022400200041003602082000420037020020024108360204200241046a200141086a220310a2011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a2001109a01200310a3011a200241106a24000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341586a220310ac0120032001470d000b200028020021020b20002001360204200210280b20000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141e7cc99334f0d01200141286c102721040b2000200436020020002004200241286c6a220336020820002004200141286c6a36020c2000200336020420000f0b1003000b9e0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241586a200341586a220310692001200128020441586a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d401024020002802002201450d00200110280b20000be10301027f230041a0066b22032400200341a0046a418002200028020020002802042001280208200141016a20012d0000220041017122041b2001280204200041017620041b109d01410021010340200341c0016a20016a200341a0046a2001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a413010181a200341a0046a41c0006a2100410021010340200341c0016a20016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c0016a41c00010041a200341e0036a41c00020034180036a41306a2204413010181a20034180036a41e000200341c0016a41c00110191a200341a0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c00020034180036a413010181a200341e0056a2100410021010340200320016a20002001413f736a2d00003a0000200141016a220141c000470d000b200341e0036a200341c00010041a200341e0036a41c0002004413010181a20034180036a41e000200341c00110191a200341c0016a41c001200341c001200241c001101a1a200341a0066a24000b8f0101017f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b200141003602182001411c6a220342003702002001200228021836021820032002411c6a280200360200200141206a200241206a22032802003602002001200229031037031020034100360200200242003703180b5001017f230041106b220224002000290300100b200241046a2001106b420120022802042200200228020820006b10101a024020022802042200450d0020022000360208200010280b200241106a24000b6501017f230041106b22022400200041003602082000420037020020024100360204200241046a200110ad011a20002002280204107d2002200028020436020c20022000280200220036020820022000360204200241046a200110ae011a200241106a24000b970102047f027e230041206b220224002000290300100b2002210341022104200121050340200541086a290300210620052903002107410f21000340200320006a20073c000020074208882006423886842107200642088821062000417f6a2200417f470d000b200541106a2105200341106a21032004417f6a22040d000b2002101141d5cf001012200141f0cf00106d200241206a24000b860103037f027e017f230041206b2202240020022103410221040340200041086a290300210520002903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200041106a2100200341106a21032004417f6a22040d000b20024120101c20011012200241206a24000b8d0103037f027e017f230041206b2202240020022103410221040340200141086a290300210520012903002106410f21070340200320076a20063c000020064208882005423886842106200542088821052007417f6a2207417f470d000b200141106a2101200341106a21032004417f6a22040d000b0240200210130d00410041f2cf0010000b200241206a24000ba70101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a20034200370300200341146a200310701a02402004418004490d002002450d00200210230b200341206a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000b5701037f230022022103024010142204450d000240200441ff034b0d0020022004410f6a4170716b220224002002200410151a0c010b200410212202200410151a2004418004490d002002450d00200210230b200324000bef0101047f230041c0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b2003413c6a2205200220046a360200200320023602382003200236023420034200370328200341346a200341286a10701a200341346a200341276a10761a200341346a200341266a10761a200341186a20052802003602002003200329023437031020032001370308200320003703002003200329032820032d002720032d0026107702402004418004490d002002450d00200210230b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b6602017f017e230041e0006b220424002000290300210520044200370358200420053703502004200137034820042001370300200441106a200141001078200410493703302004100a360238200441d0006a2001200441c8006a20041079200441e0006a24000b810201047f230041106b2203210420032400024020020d00200341406a2202220324000b200341406a22032400024020014100200341c000101b220541c100490d002001410020051021220341c000101b1a0b200441003602002004200341c0006a220636020c2004200336020820042003360204200441046a2004107c1a02402004280200450d00410041ead40010000b2004200636020c2004200336020820042003360204200441046a200210c5011a0240200541c100490d00200310230b20002002290310370300200041186a200241286a290300370300200041106a200241206a290300370300200041086a200241186a290300370300200441106a24000b4f01017f23004190026b220424002004410036028c022004410c6a20022903001096010240200020012004410c6a200428028c022003410010c601450d0041004194d00010000b20044190026a24000b850201047f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341cc006a2202200420056a360200200320043602482003200436024420034200370338200341c4006a200341386a10701a200341003602342003420037022c200341c4006a2003412c6a107b1a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a20032903382003412c6a105b0240200328022c2202450d0020032002360230200210280b02402005418004490d002004450d00200410230b200341d0006a24000b7701037f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c107d02402000280208200028020422036b2001280204200128020022046b22014f0d00410041c0d4001000200028020421030b20042003200110041a2000200028020420016a360204200241106a240020000b7401047f2000280204210241002103410021040340024020022000280208490d00410041a2d5001000200028020421020b20022c000021052000200241016a2202360204200541ff0071200441ff01712204742003722103200441076a21042002210220054100480d000b2001200336020020000b3a01027f024020012000280204200028020022026b22034d0d002000200120036b10a4010f0b0240200120034f0d002000200220016a3602040b0bbc0102047f017e230041206b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c20034200370308200341146a200341086a10701a200341146a200341076a10761a2003290308210620032d000721022000100b20062002410047100e02402005418004490d002004450d00200410230b200341206a24000be90102037f047e230041306b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360228200320023602242003200220046a36022c20034200370318200341246a200341186a10701a200341246a200341106a1080011a200341246a200341086a1080011a200341246a20031080011a200329030021052003290308210620032903102107200329031821082000100b2008200720062005100f02402004418004490d002002450d00200210230b200341306a24000b4001017f02402000280208200028020422026b41074b0d00410041c0d4001000200028020421020b20012002410810041a2000200028020441086a36020420000bdb0101047f230041c0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b2003413c6a2202200420056a36020020032004360238200320043602342003410036023020034200370228200341346a200341286a1082011a200341206a2002280200360200200320032902343703182003200137031020032000370308200341086a200341286a106a200341286a1083011a02402005418004490d002004450d00200410230b200341c0006a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010840102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108501200341206a22032001470d000b0b200241106a240020000b1b0002402000280200450d00200010d501200028020010280b20000b8c0101037f0240200120002802042202200028020022036b41057522044d0d002000200120046b10df010f0b0240200120044f0d0002402002200320014105746a2203460d002002416c6a2101034002402001410c6a2204280200417f460d00200110d6011a0b2004417f360200200141746a2104200141606a210120042003470d000b0b200020033602040b0b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10e501200241106a24000bb30101047f230041306b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b20032004360218200320043602142003200420056a36021c2003410036021020034200370208200341146a200341086a1087011a2000100b200341206a200341086a1046200341086a1088011a02402005418004490d002004450d00200410230b200341306a24000b7701027f230041106b220224002002410036020020002002107c1a2001200228020010890102402001280200220320012802042201460d00034020022000360204200220033602082002200341086a36020c200241086a200241046a108a01200341c0006a22032001470d000b0b200241106a240020000b1b0002402000280200450d002000108002200028020010280b20000bb00101047f230041106b2202240002400240200120002802042203200028020022046b41067522054d0d002000200120056b1081020c010b200120054f0d0002402003200420014106746a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f360200200141786a2105200141406a210120052004470d000b0b200020043602040b200241106a24000b4c01017f230041106b220224002001280200200028020010701a20002802042100200128020021012002410036020c20012002410c6a107c1a20012000200228020c10f501200241106a24000bf30101057f230041d0006b220221032002240041002104024010142205450d00024002402005418004490d002005102121040c010b20022005410f6a4170716b220424000b2004200510151a0b200341c4006a41086a2202200420056a3602002003200436024820032004360244200341386a41003602002003420037033020034200370328200341c4006a200341286a1070200341286a41086a2206108c011a200341206a2002280200360200200320032902443703182003200137031020032000370308200341086a200341286a105d2006108d011a02402005418004490d002004450d00200410230b200341d0006a24000b5c01027f230041106b220224002002410036020c20002002410c6a107c1a2001200228020c10c90102402001280200220320012802042201460d0003402000200310ca011a200341306a22032001470d000b0b200241106a240020000b5501037f024020002802002201450d00200121020240200028020422032001460d00200041086a210203402002200341506a220310cc0120032001470d000b200028020021020b20002001360204200210280b20000b9e0101037f230041e0006b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360258200320023602542003200220046a36025c200341d4006a200341086a108f011a2000100b200341086a104402402004418004490d002002450d00200210230b200341e0006a24000b890100200020011070200141086a1090012001410c6a109001200141106a109001200141146a109001200141186a1090012001411c6a109001200141206a109001200141246a109001200141286a1090012001412c6a109001200141306a109101200141326a109101200141346a109001200141386a1090012001413c6a109001200141c0006a1090010b4001017f02402000280208200028020422026b41034b0d00410041c0d4001000200028020421020b20012002410410041a2000200028020441046a36020420000b4001017f02402000280208200028020422026b41014b0d00410041c0d4001000200028020421020b20012002410210041a2000200028020441026a36020420000b9d0101037f230041206b220221032002240002400240101422040d00410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a0b20032002360218200320023602142003200220046a36021c20034200370308200341146a200341086a10701a2003290308100b02402004418004490d002002450d00200210230b200341206a24000ba00201047f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a4200370300200342003703082003420037030041002102200421050c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a42003703002003420037030820034200370300200220046a21052004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a2003109401200341386a2005360200200341346a200241206a360200200320023602302003200137032820032000370320200341206a2003106c02402004418004490d002002450d00200210230b200341c0006a24000be20104017f017e017f027e230041106b22032400024020002001460d0042002104411021054200210603400240024020054102490d00200642088620044238888421062005417f6a2105200420003100008442088621040c010b024020054101460d004100418ad60010000b20003100002107200220063703082002200420078437030041102105200241106a210242002104420021060b200041016a22002001470d000b20054110460d00200320042006200541037441786a4100200541014b1b102b2002200341086a290300370308200220032903003703000b200341106a24000be60101037f230041c0006b2202210320022400024002400240101422040d00200341186a4200370300200341106a42003703002003420037030820034200370300410021020c010b024002402004418004490d002004102121020c010b20022004410f6a4170716b220224000b2002200410151a200341186a4200370300200341106a420037030020034200370308200342003703002004411f4b0d010b410041c0d40010000b200341206a2002412010041a200341206a200341206a41206a200310940120032003106e02402004418004490d002002450d00200210230b200341c0006a24000b6201027f0240200028028002220241086a418102490d00410041a5d000100020002802800221020b200020026a2103410721020340200320026a20013c0000200142088821012002417f6a2202417f470d000b200020002802800241086a360280020b5001017f23004190026b22062400200641046a200410980141a68203200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a3602082002200036020420022000360200200220011099011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41074a0d00410041c2d0001000200028020421020b20022001410810041a2000200028020441086a36020420000b4001017f02402000280208200028020422026b41034a0d00410041c2d0001000200028020421020b20022001410410041a2000200028020441046a36020420000bb00401047f23004180036b220624000240200141e03f4b0d00200541ff014a0d00200641c0026a410041c00010011a200620053a00bf02200641003a00be02200620013a00bd02200620014108763a00bc0220064188026a42abb38ffc91a3b3f0db0037030020064180026a42ffa4b988c591da829b7f370300200641f8016a42f2e6bbe3a3a7fda7a57f370300200642e7cca7d0d6d0ebb3bb7f3703f001200642003703e801200641003602e001200641a0016a200641c0026a41c000109e01200641a0016a20022003109e01200641a0016a200641bc026a4103109e01200641a0016a20042005109e01200641a0016a200641bc026a41036a22074101109e01200641a0016a20064190026a109f01200641f0006a4100412110011a2001411f6a22034120490d0020034105762108200041606a2109410121000340410021030340200641f0006a20036a220220022d000020064190026a20036a2d0000733a0000200341016a22034120470d000b200620003a009001200642abb38ffc91a3b3f0db00370368200642ffa4b988c591da829b7f370360200642f2e6bbe3a3a7fda7a57f370358200642e7cca7d0d6d0ebb3bb7f37035020064200370348200641003602402006200641f0006a4121109e01200620042005109e01200620074101109e012006200641f0006a109f012009200041057422036a200641f0006a200120036b2203411f7520037141206a10041a20002008462103200041016a21002003450d000b0b20064180036a24000b6f01027f02402002450d0020002802402103034020012d000021042000200341016a360240200020036a20043a000002402000280240220341c000470d00200010a0014100210320004100360240200020002903484280047c3703480b200141016a21012002417f6a22020d000b0b0b5b01037f200010a101200041d0006a2102410021030340411820034103746b2104410021000340200120006a200220006a2802002004763a0000200041046a22004120470d000b200141016a2101200341016a22034104470d000b0bbe04010c7f230041a0026b2201240041002102410021030340200141206a20026a2000200341ff017122046a280000220341187420034180fe03714108747220034108764180fe037120034118767272360200200441046a2103200241046a220241c000470d000b41002102200128022021050340200141206a20026a220341c0006a200341386a2802002204410f772004410d77732004410a7673200341246a2802006a20056a200341046a28020022034119772003410e77732003410376736a36020020032105200241046a220241c001470d000b200041d0006a2102410021030340200120036a200220036a280200360200200341046a22034120470d000b41002104200128020c2106200128021c210720012802182105200128021421032001280210210820012802082109200128020421022001280200210a03402005210b200321052009220c2002220972200a220271200c200971722002411e772002411377732002410a77736a200b20082203417f7371200520037172200141206a20046a2802006a2003411a772003411577732003410777736a200441a4d2006a2802006a20076a22086a210a200820066a2108200b2107200c2106200441046a2204418002470d000b2001200b36021c20012005360218200120033602142001200836021020012009360208200120023602042001200a3602002001200c36020c200041d0006a2104410021030340200420036a22022002280200200120036a2802006a360200200341046a22034120470d000b200141a0026a24000bea0102027f027e2000200028024022016a22024180013a000002402001ad220342017c423842c00020014138491b22045a0d00200241016a21012003427f8520047c21030340200141003a0000200141016a21012003427f7c22034200520d000b0b0240200028024022014138490d00200010a00120004100413810011a200028024021010b200020002903482001410374ad7c22033c003f20002003370348200020034208883c003e200020034210883c003d200020034218883c003c200020034220883c003b200020034228883c003a200020034230883c0039200020034238883c0038200010a0010b6b03027f017e017f20012802042202200128020022036b41286dad2104200028020021010340200141016a2101200442ff005621052004420788210420050d000b20002001360200024020032002460d0003402000200310a6011a200341286a22032002470d000b0b20000b5f01027f230041106b220224002002200128020420012802006b41286d36020c20002002410c6a10a8011a02402001280200220320012802042201460d0003402000200310a9011a200341286a22032001470d000b0b200241106a240020000ba30201067f230041206b2202240002400240024020002802082203200028020422046b2001490d000340200441003a00002000200028020441016a22043602042001417f6a22010d000c020b0b2004200028020022056b220620016a2207417f4c0d012002411c6a200041086a360200410021040240200320056b220341017422052007200520074b1b41ffffffff07200341ffffffff03491b2203450d002003102721040b2002200436020c2002200420036a3602182002200420066a22043602100340200441003a0000200441016a21042001417f6a22010d000b2002200436021420002002410c6a10a5010240200228021420022802102201460d00200220013602140b200228020c2201450d00200110280b200241206a24000f0b2000103f000b890101037f200120012802042000280204200028020022026b22036b2204360204024020034101480d0020042002200310041a200128020421040b200028020021032000200436020020012003360204200028020421042000200128020836020420012004360208200028020821042000200128020c3602082001200436020c200120012802043602000b5802027f017e2000200110a70122022802002001411c6a28020022006a200128021822036b41086a2101200020036bad21040340200141016a2101200442ff005621002004420788210420000d000b2002200136020020020b7403017f017e017f200128020420012d0000220241017620024101711bad2103200028020021020340200241016a2102200342ff005621042003420788210320040d000b200020023602000240200128020420012d0000220441017620044101711b2204450d002000200420026a3602000b20000b860102027f017e230041106b220224002000280204210320013502002104034020022004a741ff0071200442ff00562201410774723a000f0240200028020820036b41004a0d00410041c2d0001000200028020421030b2004420788210420032002410f6a410110041a2000200028020441016a220336020420010d000b200241106a240020000b19002000200110aa01200141106a109a01200141186a10ab010ba30101037f230041106b220224002002200128020420012d0000220341017620034101711b36020c20002002410c6a10a8011a0240200128020420012d00002203410176200341017122041b2203450d002001280208200141016a20041b210402402000280208200028020422016b20034e0d00410041c2d0001000200028020421010b20012004200310041a2000200028020420036a3602040b200241106a240020000b7801037f230041106b220224002002200128020420012802006b36020c20002002410c6a10a8011a02402000280208200028020422036b2001280204200128020022046b22014e0d00410041c2d0001000200028020421030b20032004200110041a2000200028020420016a360204200241106a240020000b3401017f024020012802182202450d002001411c6a2002360200200210280b024020012d0000410171450d00200128020810280b0b960103037f017e017f230041106b2202240020012802042203200128020022046b410575ad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402000200028020041086a3602002002200036020c200441086a2002410c6a410110b001200441206a22042003470d000b0b200241106a240020000b7501027f230041106b220224002002200128020420012802006b4105753602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20002003109a011a200341086a2002410c6a410110af01200341206a22032001470d000b0b200241106a240020000b5401017f230041106b22032400200128020021012003200028021036020c20012003410c6a10a8011a02402000280210417f470d0010b101000b20012000109c011a2001200041046a10ba011a200341106a24000b6503027f017e017f20012802002203280200210120002802102204ad21050340200141016a2101200542ff005621062005420788210520060d000b2003200136020002402004417f470d0010b101000b2003200141046a3602002003200041046a10b2011a0b05001003000b980103037f017e017f230041106b2202240020012802042203200128020022046b41386dad2105200028020021010340200141016a2101200542ff005621062005420788210520060d000b20002001360200024020042003460d0003402002200036020c20042002410c6a410110b301200228020c2201200128020041026a360200200441386a22042003470d000b0b200241106a240020000b8c0103037f017e017f230041106b2203240020012802002204280200210120002802302205ad21060340200141016a2101200642ff005621072006420788210620070d000b200420013602002003200436020802402005417f470d0010b101000b200541027441dcc2006a28020021012003200341086a36020c2003410c6a20002001110200200341106a24000b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041216a3602000b220020002802002802002200200028020041226a3602002000200141246a10a7011a0b170020002802002802002200200028020041216a3602000b170020002802002802002200200028020041206a3602000b20002000280200280200220041e100410120012802001b20002802006a3602000b7801027f230041106b220224002002200128020420012802006b41386d3602082000200241086a10a8011a02402001280200220320012802042201460d0003402002200036020c20032002410c6a410110bb01200228020c200341346a10bc011a200341386a22032001470d000b0b200241106a240020000b6f01017f230041106b2203240020012802002101200320002802303602082001200341086a10a8011a20032001360204024020002802302201417f470d0010b101000b2001410274418cc3006a28020021012003200341046a36020c2003410c6a20002001110200200341106a24000b4001017f02402000280208200028020422026b41014a0d00410041c2d0001000200028020421020b20022001410210041a2000200028020441026a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b3f01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b2002200141216a10c101200141246a10aa011a0b4001017f02402000280208200028020422026b41004a0d00410041c2d0001000200028020421020b20022001410110041a2000200028020441016a36020420000b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004121470d000b0b2c01017f200028020028020021024100210003402002200120006a10be011a200041016a22004120470d000b0b6201027f230041106b220224004100210320002802002802002100200220012802004100473a000f20002002410f6a10be011a024020012802002201450d0003402000200120036a10be011a200341016a220341e000470d000b0b200241106a24000bbd0101027f230041c0006b22022400024020002001107c200141086a10702200280208200028020422036b411f4b0d00410041c0d4001000200028020421030b200241206a2003412010041a2000200028020441206a360204200241206a200241206a41206a2002109401200141286a200241186a290300370300200141206a200241106a290300370300200141186a2002290308370300200120022903003703102000200141306a1076200141316a10762101200241c0006a240020010b5001017f23004190026b22062400200641046a200410c70141aaff00200120022003200628028802200628028c0220051016210402402006280284022205450d00200510290b20064190026a240020040ba10203057f027e017f230041206b220224002002210341022104200141106a220521060340200641086a290300210720062903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200641106a2106200341106a21032004417f6a22040d000b20022103410221060340200541086a290300210720052903002108410f21090340200320096a20083c000020084208882007423886842108200742088821072009417f6a2209417f470d000b200541106a2105200341106a21032006417f6a22060d000b2000413436028802200041003602800220002000360284022002200041346a36020820022000360204200220003602002002200110c8011a200241206a24000bda0102057f027e230041206b22022400200141106a210320002001109a01210420022105410221060340200341086a290300210720032903002108410f21000340200520006a20083c000020084208882007423886842108200742088821072000417f6a2200417f470d000b200341106a2103200541106a21052006417f6a22060d000b02402004280208200428020422006b411f4a0d00410041c2d0001000200428020421000b20002002412010041a2004200428020441206a3602042004200141306a109b01200141386a109c012100200241206a240020000b6b01037f0240200120002802042202200028020022036b41306d22044d0d002000200120046b10cb010f0b0240200120044f0d00024020022003200141306c6a2201460d00200041086a210403402004200241506a220210cc0120022001470d000b0b200020013602040b0b20002000200110cd01200141106a1070200141186a10cd01200141246a10cd010bf20101067f230041206b22022400200041086a210302400240024020002802082204200028020422056b41306d2001490d0003402003200510ce012000200028020441306a22053602042001417f6a22010d000c020b0b2005200028020022066b41306d220720016a220541d6aad52a4f0d012002410c6a200420066b41306d220441017422062005200620054b1b41d5aad52a200441aad5aa15491b2007200310cf0122052802082103200541106a280200210403402004200310ce012005200528020841306a22033602082001417f6a22010d000b2000200510d001200510d1011a0b200241206a24000f0b2000103f000b4700024020012d0024410171450d002001412c6a28020010280b024020012d0018410171450d00200141206a28020010280b024020012d0000410171450d00200128020810280b0ba90401067f230041206b220224002002410036021c200242003702142000200241146a107b1a0240024002402002280218220320022802142204460d00200241106a410036020020024200370308200320046b220541704f0d02024002402005410a4b0d00200220054101743a0008200241086a41017221060c010b2005410f72220741016a102721062002200536020c2002200741026a360208200220063602100b0340200620042d00003a0000200641016a2106200441016a22042003470d000b200641003a0000024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d01200228021010280c010b200241106a410036020020024200370308410021040340200241086a20046a4100360200200441046a2204410c470d000b024020012d0000410171450d00200128020841003a00002001410036020420012d0000410171450d00200128020810280b20012002290308370200200141086a200241086a41086a280200360200410021040340200241086a20046a4100360200200441046a2204410c470d000b20022d0008410171450d00200228021010280b024020022802142204450d0020022004360218200410280b200241206a240020000f0b200241086a102e000ba30101027f20014200370300200141086a4200370300410021020340200120026a4100360200200241046a2202410c470d000b2001420037031820014200370310200141206a4100360200200141186a2103410021020340200320026a4100360200200241046a2202410c470d000b200142003702242001412c6a4100360200200141246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141d6aad52a4f0d01200141306c102721040b2000200436020020002004200241306c6a220336020820002004200141306c6a36020c2000200336020420000f0b1003000b9f0101047f2001280204210202402000280204220320002802002204460d00200041086a210503402005200241506a200341506a220310d2012001200128020441506a220236020420032004470d000b200028020021040b2000200236020020012004360204200028020421032000200128020836020420012003360208200028020821032000200128020c3602082001200336020c200120012802043602000b1c01017f200010d301024020002802002201450d00200110280b20000bc10101027f20012002290300370300200141086a200241086a280200360200410021030340200220036a4100360200200341046a2203410c470d000b2001200229031037031020012002290318370318200141206a200241206a280200360200200241186a2104410021030340200420036a4100360200200341046a2203410c470d000b200120022902243702242001412c6a2002412c6a280200360200200241246a2102410021030340200220036a4100360200200341046a2203410c470d000b0b3d01027f02402000280208220120002802042202460d0003402000200141506a22013602082000280210200110cc01200028020822012002470d000b0b0b3d01027f02402000280208220120002802042202460d0003402000200141586a22013602082000280210200110ac01200028020822012002470d000b0b0b5d01037f02402000280204220120002802002202460d002001416c6a2101034002402001410c6a2203280200417f460d00200110d6011a0b2003417f360200200141746a2103200141606a210120032002470d000b0b200020023602040b1b0002402000280200450d00200010d701200028020010280b20000b7d01057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f36020020022003472104200241486a210220040d000b0b20002003360204200141106a24000b02000b02000b1a00024020012d0024410171450d002001412c6a28020010280b0b02000b02000b0800200110de011a0b3701027f024020002802042201450d00200120012802042202417f6a36020420020d00200120012802002802081101002001103d0b20000b9e0201057f230041206b2202240002400240024020002802082203200028020422046b4105752001490d00034020044200370300200441186a4200370300200441106a4200370300200441086a42003703002000200028020441206a22043602042001417f6a22010d000c020b0b2004200028020022056b410575220620016a220441808080c0004f0d012002410c6a200320056b220341047522052004200520044b1b41ffffff3f200341e0ffffff07491b2006200041086a10e00122032802082104034020044200370300200441186a4200370300200441106a4200370300200441086a4200370300200441206a21042001417f6a22010d000b200320043602082000200310e101200310e2011a0b200241206a24000f0b2000103f000b6801017f410021042000410036020c200041106a2003360200024002402001450d00200141808080c0004f0d012001410574102721040b200020043602002000200420024105746a22033602082000200420014105746a36020c2000200336020420000f0b1003000bab0101047f2001280204210202402000280204220320002802002204460d000340200241606a200341606a2205290300370300200241686a200341686a10e3011a2001200128020441606a22023602042005210320052004470d000b200028020021040b2000200236020020012004360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b2101017f2000200028020410e401024020002802002201450d00200110280b20000b7e01027f2000417f360210200041003a0000024020012802102202417f460d0020004100360204200041086a22034200370200200020012802043602042003200141086a2802003602002000410c6a2001410c6a2203280200360200200020012802003602002000200236021020034100360200200142003702040b20000b5601037f0240200028020822022001460d0003402000200241606a22033602080240200341186a2204280200417f460d002002416c6a10d6011a200028020821030b2004417f3602002003210220032001470d000b0b0b960101017f230041106b220324000240024020020d002003410c6a410036020020034200370204200020031090011a2000200341046a220210e6011a02402001280210417f460d00200141046a10d6011a0b2001200329020037020020014100360210200141086a20032902083702002003410036020420034200370208200210d6011a0c010b410041f4d50010000b200341106a24000b7601027f230041106b220224002002410036020020002002107c1a2001200228020010e70102402001280200220320012802042201460d00034020022000360204200220033602082002200341346a36020c200241086a200241046a10e801200341386a22032001470d000b0b200241106a240020000bad0101047f230041106b2202240002400240200120002802042203200028020022046b41386d22054d0d002000200120056b10e9010c010b200120054f0d00024020032004200141386c6a2204460d00200341486a210103400240200141306a22052802002203417f460d002002410f6a2001200341027441a8d5006a2802001102000b2005417f36020020012004472105200141486a210120050d000b0b200020043602040b200241106a24000b4d01037f230041106b2202240020002802002103200128020021042002410036020c20042002410c6a107c1a20042003200228020c10f501200128020020002802041091011a200241106a24000be40101057f230041206b2202240002400240024020002802082203200028020422046b41386d2001490d00034020044100413810011a2000200028020441386a22043602042001417f6a22010d000c020b0b2004200028020022056b41386d220620016a220441a592c9244f0d012002410c6a200320056b41386d220341017422052004200520044b1b41a492c92420034192c9a412491b2006200041086a10ea01220328020821040340200441004138100141386a21042001417f6a22010d000b200320043602082000200310eb01200310ec011a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141a592c9244f0d01200141386c102721040b2000200436020020002004200241386c6a220336020820002004200141386c6a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a10ed01200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f200010ee01024020002802002201450d00200110280b20000baf0101067f230041106b22042400024020022001460d00200241486a2102200328020021050340200541486a220641003a0000200641306a2207417f3602000240200241306a22082802002209417f460d002004410f6a20062002200941027441c0d5006a280200110300200720082802003602000b2005417c6a200241346a2f01003b01002003200328020041486a220536020020022001472106200241486a210220060d000b0b200441106a24000b7701057f230041106b2201240002402000280208220220002802042203460d0003402000200241486a22023602080240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a280200110200200028020821020b2004417f36020020022003470d000b0b200141106a24000b0b0020012002412110041a0b0b0020012002412110041a0b480020012002412210042201412c6a2002412c6a28020036020020012002290224370224200241246a2101410021020340200120026a4100360200200241046a2202410c470d000b0b0b0020012002412110041a0b3c0020012002290200370200200141186a200241186a290200370200200141106a200241106a290200370200200141086a200241086a2902003702000b130020012002290200370200200242003702000b7f01017f230041306b220324000240024020020d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441003602300c010b20002001200210f6010b200341306a24000b820101017f230041306b220324000240024020024101470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441013602300c010b20002001200210f7010b200341306a24000ba00201027f230041c0006b220324000240024020024102470d00200341386a410036020020034200370230412421022003410c6a41246a210403402003410c6a20026a4100360200200241046a22024130470d000b41002102034020002003410c6a20026a10761a200241016a22024121470d000b20002003412d6a10f801200410cd011a024020012802302202417f460d002003413f6a2001200241027441a8d5006a2802001102000b20012003410c6a412210042200412c6a200441086a280200360200200020042902003702244124210203402003410c6a20026a4100360200200241046a22024130470d000b2000410236023020032d0030410171450d01200341386a28020010280c010b20002001200210f9010b200341c0006a24000b3d01017f0240200028020820002802042202470d00410041c0d4001000200028020421020b20012002410110041a2000200028020441016a36020420000b820101017f230041306b220324000240024020024103470d0041002102034020002003410e6a20026a10761a200241016a22024121470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b20012003410e6a4121100441033602300c010b20002001200210fa010b200341306a24000bbc0101017f230041306b220324000240024020024104470d0041002102034020002003410f6a20026a10761a200241016a22024120470d000b024020012802302202417f460d002003412f6a2001200241027441a8d5006a2802001102000b2001200329000f37000020014104360230200141186a2003410f6a41186a290000370000200141106a2003410f6a41106a290000370000200141086a2003410f6a41086a2900003700000c010b20002001200210fb010b200341306a24000b840101017f230041106b220324000240024020024105470d00200342003702042000200341046a10fc011a024020012802302202417f460d002003410f6a2001200241027441a8d5006a2802001102000b200120032902043702002001410536023020034200370204200341046a10de011a0c010b410041f4d50010000b200341106a24000be30102037f017e230041106b220224002000200241086a10761a0240024020022d0008450d000240200128020022030d0041ec001027220341e0d500360200200342003702042003410c6a410041e000100121042001290200210520012004360200200120033602042002420037020020022005370208200241086a10de011a200210de011a200128020021030b4100210103402000200320016a10761a200141016a220141e000470d000c020b0b20012902002105200142003702002002420037020020022005370208200241086a10de011a200210de011a0b200241106a240020000b08002000103c10280b02000b0600200010280b800101057f230041106b2201240002402000280204220220002802002203460d00200241486a210203400240200241306a22042802002205417f460d002001410f6a2002200541027441a8d5006a2802001102000b2004417f360200200241786a2104200241406a210220042003470d000b0b20002003360204200141106a24000be60101057f230041206b2202240002400240024020002802082203200028020422046b4106752001490d0003402004410041c00010011a2000200028020441c0006a22043602042001417f6a22010d000c020b0b2004200028020022056b410675220620016a220441808080204f0d012002410c6a200320056b220341057522052004200520044b1b41ffffff1f200341c0ffffff07491b2006200041086a1082022203280208210403402004410041c000100141c0006a21042001417f6a22010d000b200320043602082000200310830220031084021a0b200241206a24000f0b2000103f000b6701017f410021042000410036020c200041106a2003360200024002402001450d00200141808080204f0d012001410674102721040b200020043602002000200420024106746a22033602082000200420014106746a36020c2000200336020420000f0b1003000b6d01017f200041086a20002802002000280204200141046a108502200028020021022000200128020436020020012002360204200028020421022000200128020836020420012002360208200028020821022000200128020c3602082001200236020c200120012802043602000b1c01017f2000108602024020002802002201450d00200110280b20000bb10101057f230041106b22042400024020022001460d00200241406a2102200328020021050340200541406a22052002290300370300200541386a2206417f360200200541086a220541003a00000240200241386a22072802002208417f460d002004410f6a2005200241086a200841027441c0d5006a280200110300200620072802003602000b2003200328020041406a220536020020022001472106200241406a210220060d000b0b200441106a24000b7e01067f230041106b2201240002402000280208220220002802042203460d0003402000200241406a22043602080240200441386a22052802002206417f460d002001410f6a200241486a200641027441a8d5006a280200110200200028020821040b2005417f3602002004210220042003470d000b0b200141106a24000bab040020001043024020012000520d00024002400240024002400240024002400240200242ffffff95cdebd4d942550d000240200242fffffffffff698d942550d0002402002428fa9d9d9dd8c99d6ba7f550d00200242808080e8b2edc0d38b7f510d032002428080f9d4a98499dc9a7f520d0a20012001106f0f0b20024290a9d9d9dd8c99d6ba7f510d0320024280808080daac9bd6ba7f520d09200120011092010f0b0240200242ffffffffd3c4a2d942550d002002428080808080f798d942510d042002428080b8f6a4979ad942520d0920012001107f0f0b20024280808080d4c4a2d942510d04200242f0aadf8bcde9add942520d0820012001108b010f0b0240200242ffffacd68db8baf154550d000240200242ffdfde8293fad6d942550d0020024280808096cdebd4d942510d0620024280808080b6f7d6d942520d0920012001107e0f0b20024280e0de8293fad6d942510d06200242808080c093fad6d942520d08200120011081010f0b0240200242ffffffcfb2b3bb9932550d002002428080add68db8baf154510d072002428080add68d959ba955520d082001200110710f0b02402002428080add68d95abd1ca00510d00200242808080d0b2b3bb9932520d08200120011093010f0b2001200110720f0b2001200110730f0b200120011095010f0b20012001107a0f0b2001200110750f0b20012001108e010f0b200120011086010f0b2001200110740f0b2001428080808080c0bad847510d0041004201101d0b0b0d00101e2000200120021087020b0be71606004180c0000b4a6661696c656420746f20616c6c6f6361746520706167657300656e636f756e7465726564206e6f6e2d62617365363420636861726163746572005055425f424c535f00000000000000000041cac0000bdf0200000000000030303031303230333034303530363037303830393130313131323133313431353136313731383139323032313232323332343235323632373238323933303331333233333334333533363337333833393430343134323433343434353436343734383439353035313532353335343535353635373538353936303631363236333634363536363637363836393730373137323733373437353736373737383739383038313832383338343835383638373838383939303931393239333934393539363937393839396461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400000100000002000000030000000400000005000000060000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000700000008000000090000000a0000000b0000000c00000000000000000041a9c3000b81080000000000000000000000020000000300000005000000070000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d000000710000007f00000083000000890000008b00000095000000970000009d000000a3000000a7000000ad000000b3000000b5000000bf000000c1000000c5000000c7000000d3000000010000000b0000000d0000001100000013000000170000001d0000001f00000025000000290000002b0000002f000000350000003b0000003d0000004300000047000000490000004f00000053000000590000006100000065000000670000006b0000006d00000071000000790000007f00000083000000890000008b0000008f00000095000000970000009d000000a3000000a7000000a9000000ad000000b3000000b5000000bb000000bf000000c1000000c5000000c7000000d1000000404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e4040403f3435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f101112131415161718194040404040401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403e40403435363738393a3b3c3d40404040404040000102030405060708090a0b0c0d0e0f10111213141516171819404040403f401a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132334040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404077726f6e6720656e636f64656420737472696e672073697a65005349475f424c535f00424c535f5349475f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f4e554c5f00424c535f504f505f424c53313233383147325f584d443a5348412d3235365f535357555f524f5f504f505f0041aacb000b820800bbc622db0af03afbef1a7af93fe8556c58ac1b173f3a4ea105b974974f8c68c30faca94f8c63952694d79731a7d3f117cac239b9d6dc54ad1b75cb0eba386f4e3642accad5b95566c907b51def6a8167f2212ecfc8767daaa845d555681d4d116e756d626572206f662066696e616c697a657273206578636565647320746865206d6178696d756d20616c6c6f7765640072657175697265206174206c65617374206f6e652066696e616c697a6572005055425f424c53005349475f424c530046696e616c697a6572206465736372697074696f6e2067726561746572207468616e206d617820616c6c6f7765642073697a65007075626c6963206b65792073686f756c642073746172742077697468205055425f424c530070726f6f66206f6620706f7373657373696f6e207369676e61747572652073686f756c642073746172742077697468205349475f424c530073756d206f662077656967687473206361757365732075696e7436345f74206f766572666c6f77006475706c6963617465207075626c6963206b65790070726f6f66206f6620706f7373657373696f6e206661696c65640066696e616c697a657220706f6c696379207468726573686f6c64206d7573742062652067726561746572207468616e2068616c66206f66207468652073756d206f662074686520776569676874732c20616e64206c657373207468616e206f7220657175616c20746f207468652073756d206f66207468652077656967687473006665617475726520646967657374206163746976617465643a20000a0070726f746f636f6c2066656174757265206973206e6f7420616374697661746564004b5620777269746520726566757365640062655f6b65795f73747265616d3a206b657920746f6f206c61726765006461746173747265616d20617474656d7074656420746f20777269746520706173742074686520656e6400656e636f64656420626173653634206b657920697320746f6f2073686f72740062617365363420656e636f6465642074797065206d75737420626567696e2066726f6d20636f72726573706f6e64696e6720707265666978006465636f6465642073697a65200020646f65736e2774206d61746368207374727563747572652073697a652000202b20636865636b73756d2000636865636b73756d206f662073747275637475726520646f65736e2774206d6174636800982f8a4291443771cffbc0b5a5dbb5e95bc25639f111f159a4823f92d55e1cab98aa07d8015b8312be853124c37d0c55745dbe72feb1de80a706dc9b74f19bc1c1699be48647beefc69dc10fcca10c246f2ce92daa84744adca9b05cda88f97652513e986dc631a8c82703b0c77f59bff30be0c64791a7d55163ca0667292914850ab72738211b2e0041acd3000b8a03fc6d2c4d130d385354730a65bb0a6a762ec9c281852c7292a1e8bfa24b661aa8708b4bc2a3516cc719e892d1240699d685350ef470a06a1016c1a419086c371e4c774827b5bcb034b30c1c394aaad84e4fca9c5bf36f2e68ee828f746f63a5781478c8840802c78cfaffbe90eb6c50a4f7a3f9bef27871c67075626c6963206b65792068617320612077726f6e672073697a65006461746173747265616d20617474656d7074656420746f207265616420706173742074686520656e640048797065727669736f722072657475726e656420756e657870656374656420636f64652068617368207374727563742076657273696f6e00676574000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e00000000000000000000001f00000020000000210000002200000023000000696e76616c69642076617269616e7420696e64657800756e6578706563746564206572726f7220696e2066697865645f627974657320636f6e7374727563746f72000041000b04d02c00000001d00f01001f06ea9a71da19f2eccab0e1595db5ff3bddff48909f5d4b55dcb1776b8506f5d61a72b3040648657772449f2e28590af384b1293d1c273fe85b9081bc768418cd00008915868574670200247d62d500000000010000000000eab0c700000000b863b2c2010000000000eab0c700000000a8ed3232d6140000000000eab0c7cc140e737973696f3a3a6162692f312e320117626c6f636b5f7369676e696e675f617574686f726974792276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f76301e086162695f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320b616269686173685f6b65790001056f776e65720675696e74363408616374697661746500010e666561747572655f6469676573740b636865636b73756d32353609617574686f726974790003097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d086163636f756e7473197065726d697373696f6e5f6c6576656c5f7765696768745b5d1a626c6f636b5f7369676e696e675f617574686f726974795f76300002097468726573686f6c640675696e743332046b6579730c6b65795f7765696768745b5d15626c6f636b636861696e5f706172616d65746572730011136d61785f626c6f636b5f6e65745f75736167650675696e7436341a7461726765745f626c6f636b5f6e65745f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6e65745f75736167650675696e743332106e65745f75736167655f6c65657761790675696e743332136d61785f626c6f636b5f6370755f75736167650675696e7433321a7461726765745f626c6f636b5f6370755f75736167655f7063740675696e743332196d61785f7472616e73616374696f6e5f6370755f75736167650675696e743332196d696e5f7472616e73616374696f6e5f6370755f75736167650675696e743332186d61785f7472616e73616374696f6e5f6c69666574696d650675696e743332156d61785f7472616e73616374696f6e5f64656c61790675696e743332166d61785f696e6c696e655f616374696f6e5f73697a650675696e743332176d61785f696e6c696e655f616374696f6e5f64657074680675696e743136136d61785f617574686f726974795f64657074680675696e7431361c6d61785f616374696f6e5f72657475726e5f76616c75655f73697a650675696e7433320f6d61785f6b765f6b65795f73697a650675696e743332116d61785f6b765f76616c75655f73697a650675696e743332196d61785f6b765f7365636f6e646172795f6b65795f73697a650675696e74333209636f64655f686173680004056f776e6572046e616d6504686173680b636865636b73756d3235360a757064617465645f61740a74696d655f706f696e7409626c6f636b5f6e756d0675696e7433320c636f6465686173685f6b65790001056f776e65720675696e7436340a64656c657465617574680002076163636f756e74046e616d650a7065726d697373696f6e046e616d651366696e616c697a65725f617574686f7269747900040b6465736372697074696f6e06737472696e67067765696768740675696e7436340a7075626c69635f6b657906737472696e6703706f7006737472696e671066696e616c697a65725f706f6c6963790002097468726573686f6c640675696e7436340a66696e616c697a6572731566696e616c697a65725f617574686f726974795b5d0a6b65795f7765696768740002036b65790a7075626c69635f6b6579067765696768740675696e743136086c696e6b617574680004076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650b726571756972656d656e74046e616d650a6e65776163636f756e7400040763726561746f72046e616d65046e616d65046e616d65056f776e657209617574686f726974790661637469766509617574686f72697479107065726d697373696f6e5f6c6576656c0002056163746f72046e616d650a7065726d697373696f6e046e616d65177065726d697373696f6e5f6c6576656c5f77656967687400020a7065726d697373696f6e107065726d697373696f6e5f6c6576656c067765696768740675696e7431361270726f64756365725f617574686f7269747900020d70726f64756365725f6e616d65046e616d6509617574686f7269747917626c6f636b5f7369676e696e675f617574686f726974790c70726f64756365725f6b657900020d70726f64756365725f6e616d65046e616d6511626c6f636b5f7369676e696e675f6b65790a7075626c69635f6b65790c72657161637469766174656400010e666561747572655f6469676573740b636865636b73756d323536077265716175746800010466726f6d046e616d65067365746162690002076163636f756e74046e616d65036162690562797465730a736574616c696d6974730004076163636f756e74046e616d650972616d5f627974657305696e7436340a6e65745f77656967687405696e7436340a6370755f77656967687405696e74363407736574636f64650004076163636f756e74046e616d6506766d747970650575696e743809766d76657273696f6e0575696e743804636f64650562797465730c73657466696e616c697a657200011066696e616c697a65725f706f6c6963791066696e616c697a65725f706f6c69637909736574706172616d73000106706172616d7315626c6f636b636861696e5f706172616d657465727307736574707269760002076163636f756e74046e616d650769735f707269760575696e74380b73657470726f646b6579730001087363686564756c650e70726f64756365725f6b65795b5d0873657470726f64730001087363686564756c651470726f64756365725f617574686f726974795b5d0a756e6c696e6b617574680003076163636f756e74046e616d6504636f6465046e616d650474797065046e616d650a757064617465617574680004076163636f756e74046e616d650a7065726d697373696f6e046e616d6506706172656e74046e616d65046175746809617574686f72697479100000002a9bed3232086163746976617465000040cbdaa8aca24a0a64656c65746561757468000000002d6b03a78b086c696e6b617574680000409e9a2264b89a0a6e65776163636f756e7400905436db6564acba0c72657161637469766174656400000000a0656dacba07726571617574680000000000b863b2c206736574616269000000ce4eba68b2c20a736574616c696d6974730000000040258ab2c207736574636f64650070d577d14cb7b2c20c73657466696e616c697a6572000000c0d25c53b3c209736574706172616d730000000060bb5bb3c207736574707269760000b05730d15bb3c20b73657470726f646b6579730000000038d15bb3c20873657470726f6473000040cbdac0e9e2d40a756e6c696e6b61757468000040cbdaa86c52d50a75706461746561757468000207616269686173680369363401056f776e6572010675696e743634086162695f6861736826c10008636f6465686173680369363401056f776e6572010675696e74363409636f64655f68617368aa3f00000000012276617269616e745f626c6f636b5f7369676e696e675f617574686f726974795f7630011a626c6f636b5f7369676e696e675f617574686f726974795f7630000000000000 01000000000000000100000055e9eaa34193b0e6a2613f67be3738e332d2965557462c38c6445389bcacd98c86cd31576daabfaac772e248b9f1207e3260bebc46838ea1961482cfe47901e701000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000062f958a85f20c8e5b11aa469b2c6b18f639e931e66bbcaf3be5adbca67412b7e0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 4 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":3,"value_ex":259165,"consumed":1},"cpu_usage":{"last_ordinal":3,"value_ex":24885,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 65e79e01f9fff54550fffd0ecd52ce01cb3f9fcd16e870368a38a4b9c3bcc611 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274020000000000000000eab0c70000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a1410b93a769c3d3593a65558f66846e88b167af62b4d20f19560e5c45bd5016800000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 4 65e79e01f9fff54550fffd0ecd52ce01cb3f9fcd16e870368a38a4b9c3bcc6110400000003000000010000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a010164640000000000000000000000000000000001010000010000000000eab0c75e2c249023def4878b9b6e1c21d38b159833fbd27568214dea1a8c19d3d6c28005000000000000000500000000000000010000000000eab0c7050000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274020000000000000000eab0c70000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a1410b93a769c3d3593a65558f66846e88b167af62b4d20f19560e5c45bd50168000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000065e79e01f9fff54550fffd0ecd52ce01cb3f9fcd16e870368a38a4b9c3bcc6110400000003000000010000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a00000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":3,"value_ex":257870,"consumed":1},"cpu_usage":{"last_ordinal":3,"value_ex":24885,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock a24101f31cde2b7d5563c41cd06eaf990a7d9e6a80bfaf0bc548e6dcf92a1e82 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274020000000000000000eab0c70000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a860d11cf434a22369c19157fb1edaacc67fa299b999bdef41f171c9f93734d7b00000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 4 a24101f31cde2b7d5563c41cd06eaf990a7d9e6a80bfaf0bc548e6dcf92a1e8204000000030000000100000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb7010164640000000000000000000000000000000001010000010000000000eab0c74cea4a38c048743952b3b4b4b7c3dfb4e88376c91d96794dbcb461982d169a6205000000000000000500000000000000010000000000eab0c7050000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274020000000000000000eab0c70000000261e1e9fd247d62d5d0659aec25d2501fb9a24d489439cce4a807c56a860d11cf434a22369c19157fb1edaacc67fa299b999bdef41f171c9f93734d7b00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000a24101f31cde2b7d5563c41cd06eaf990a7d9e6a80bfaf0bc548e6dcf92a1e8204000000030000000100000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb700000000000000 DMLOG CREATION_OP ROOT 0 DMLOG PERM_OP INS 0 9 {"parent":0,"owner":"alice","name":"owner","last_updated":"2025-01-01T00:00:01.500","auth":{"threshold":1,"keys":[{"key":"SYS6JvuLaCqV8qHbSqUBVRPMo9N7V3vgE8YqHmweG568YmTDJ3opq","weight":1}],"accounts":[{"permission":{"actor":"alice","permission":"sysio.code"},"weight":1}]}} DMLOG PERM_OP INS 0 10 {"parent":9,"owner":"alice","name":"active","last_updated":"2025-01-01T00:00:01.500","auth":{"threshold":1,"keys":[{"key":"SYS8d5yGFrYpdXW1SUmaavRZKm5X7Bp9jK634JABCYPciwTkm7Wv2","weight":1}],"accounts":[{"permission":{"actor":"alice","permission":"sysio.code"},"weight":1}]}} DMLOG RLIMIT_OP ACCOUNT_LIMITS INS {"owner":"alice","net_weight":-1,"cpu_weight":-1,"ram_bytes":-1} DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"alice","net_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"ram_usage":0} DMLOG RAM_OP 0 alice account add newaccount alice 1008 1008 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":3,"value_ex":260722,"consumed":270},"cpu_usage":{"last_ordinal":3,"value_ex":36460,"consumed":2101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 4 b6390696fc754eb72174e35f7fd4ca903dd614cc5ccb3f75e0eecc7bd91598680400000003000000010000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c79330a38668eed8ba2aa8fe5dbcfe039763cfecc3bd770f65a3c32fee7303160a06000000000000000600000000000000010000000000eab0c7060000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000855c3401000000010002bb30f6894f29bb6fca635b1df728ad77e48fdd6123ce5e4455b0f71e072e7df80100010000000000855c3400804a1401eab0c7010001000000010003ebcf44b45a71d4f225768f602d1e2e2b25ef779ee9897fe744bf1a16e85423d50100010000000000855c3400804a1401eab0c7010000000000000000000001d00f018d0200b6390696fc754eb72174e35f7fd4ca903dd614cc5ccb3f75e0eecc7bd91598680400000003000000010000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a010000000000855c34f003000000000000000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":3,"value_ex":259427,"consumed":270},"cpu_usage":{"last_ordinal":3,"value_ex":36460,"consumed":2101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 4 697e1cb040814d2e4e1e6bde5ffdbd9d4a521f5db79ff58c6eac60a9f886f28d04000000030000000100000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb70101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c79330a38668eed8ba2aa8fe5dbcfe039763cfecc3bd770f65a3c32fee7303160a06000000000000000600000000000000010000000000eab0c7060000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000855c3401000000010002bb30f6894f29bb6fca635b1df728ad77e48fdd6123ce5e4455b0f71e072e7df80100010000000000855c3400804a1401eab0c7010001000000010003ebcf44b45a71d4f225768f602d1e2e2b25ef779ee9897fe744bf1a16e85423d50100010000000000855c3400804a1401eab0c70100000000000000000001d00f018d0200697e1cb040814d2e4e1e6bde5ffdbd9d4a521f5db79ff58c6eac60a9f886f28d04000000030000000100000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb7010000000000855c34f003000000000000000000000000 DMLOG CREATION_OP ROOT 0 DMLOG PERM_OP INS 0 11 {"parent":10,"owner":"alice","name":"test1","last_updated":"2025-01-01T00:00:01.500","auth":{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"sysio","permission":"active"},"weight":1}]}} DMLOG RAM_OP 0 11 auth add updateauth_create alice 1264 256 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":3,"value_ex":261764,"consumed":450},"cpu_usage":{"last_ordinal":3,"value_ex":48035,"consumed":4101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 4 f9c71c83a698ff2efc77b4f6efb0919b95121c655eacd6e846a838b523fa606d0400000003000000010000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a0101d00fd00f0000000000000000b40000000000000001010000010000000000eab0c7e358b338a24f75fa2e432608876bfc8f6e0cff3db6db1cf61cccf6ac0bb0b10207000000000000000700000000000000010000000000855c34010000000000000001010000000000eab0c70000000000eab0c70040cbdaa86c52d5010000000000855c3400000000a8ed3232300000000000855c34000000008090b1ca00000000a8ed32320100000000010000000000eab0c700000000a8ed3232010000000000000000000001d00f01b40100f9c71c83a698ff2efc77b4f6efb0919b95121c655eacd6e846a838b523fa606d0400000003000000010000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a010000000000855c340001000000000000000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":3,"value_ex":373200000,"consumed":44784},"average_block_cpu_usage":{"last_ordinal":3,"value_ex":34993056,"consumed":4101},"pending_net_usage":449,"pending_cpu_usage":4100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1050675,"virtual_cpu_limit":200400} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":4,"value_ex":373831667,"consumed":820},"average_block_cpu_usage":{"last_ordinal":4,"value_ex":68868114,"consumed":4135},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1051726,"virtual_cpu_limit":200600} -DMLOG ACCEPTED_BLOCK_V2 0000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5a 4 1 030000000000000000eab0c7000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f37d0b5be475debe43a193e44eb819b2a7dd3e0c70010598fe401d692e88a87080000000000000000000000000000000000000000000000000000000000000000010000000000000001001fa5199e53a7b82f27f3b35c204b238fea46e05fa96047af575bc473c21f1e77e0324fec6c6df1bb9346da32ef177e11e428fc50980fae5ae10b9c0a3f134577e30201d00f01001fa3b8f9d34b0f9e07c37409b49e6bc74375806c07e73ae72ad17931714fe292235e4ac03786b22c29449669bbcb44d6ffb1e15097a91472dd855dde7df899fe5a0000bb01878574670300b09cbd6500000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000855c3401000000010002bb30f6894f29bb6fca635b1df728ad77e48fdd6123ce5e4455b0f71e072e7df80100010000000000855c3400804a1401eab0c7010001000000010003ebcf44b45a71d4f225768f602d1e2e2b25ef779ee9897fe744bf1a16e85423d50100010000000000855c3400804a1401eab0c701000001d00f010020d84212bc9513e0b0364f4600506a28d3040a97d3d534b76ec4a72c540c47f79766df32f0cf9910e6c77a954310fa412c90e9642c23f2d52a5701b9ef4e17ed0d000062878574670300b09cbd6500000000010000000000eab0c70040cbdaa86c52d5010000000000855c3400000000a8ed3232300000000000855c34000000008090b1ca00000000a8ed32320100000000010000000000eab0c700000000a8ed32320100000000 0100000000000000010000008fd52647c0ed795d4c4d1f49cd20a2b2c83c31834f406b3904d22e7d414b7be863fdf691a3cad1b2c80cc89fb38c7213b8e74b3601f590952288c14c5a23724201000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000005a701ebb58b77a6313c009a7e02f6b50ca67caebcbbba2ac3d2c3ccf458305bb0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":3,"value_ex":260469,"consumed":450},"cpu_usage":{"last_ordinal":3,"value_ex":48035,"consumed":4101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 4 a61216d0e32615e2f350b0b00c0eb5f486f121535599d585c7fd5270017da4c604000000030000000100000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb70101d00fd00f0000000000000000b40000000000000001010000010000000000eab0c7e358b338a24f75fa2e432608876bfc8f6e0cff3db6db1cf61cccf6ac0bb0b10207000000000000000700000000000000010000000000855c34010000000000000001010000000000eab0c70000000000eab0c70040cbdaa86c52d5010000000000855c3400000000a8ed3232300000000000855c34000000008090b1ca00000000a8ed32320100000000010000000000eab0c700000000a8ed32320100000000000000000001d00f01b40100a61216d0e32615e2f350b0b00c0eb5f486f121535599d585c7fd5270017da4c604000000030000000100000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb7010000000000855c340001000000000000000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":3,"value_ex":371333334,"consumed":44560},"average_block_cpu_usage":{"last_ordinal":3,"value_ex":34993056,"consumed":4101},"pending_net_usage":449,"pending_cpu_usage":4100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1050675,"virtual_cpu_limit":200400} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":4,"value_ex":371980556,"consumed":818},"average_block_cpu_usage":{"last_ordinal":4,"value_ex":68868114,"consumed":4135},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1051726,"virtual_cpu_limit":200600} +DMLOG ACCEPTED_BLOCK_V2 00000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb7 4 1 030000000000000000eab0c700000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f86fdbe85ae39807a9092753aa51649d314c0f7cc2ed1c396c0f4d1832a13a69c00000000000000000000000000000000000000000000000000000000000000000100000000000000010020f2a60f7b16d69436c4d0fe0659b6cacb46074af574d6797595d1b92fc542bec1606be8227470c7e7885b38514528cf038eeb3259af2f422f950c6240f938c3a30201d00f01001f361cd95619d3d84b7ceda6afd255bdcaa8810e1262a97fb15164b0925608c9b74c18d0859b115d940bc9aedaf2a96cf3a789fbb8e82e8812ed194561b70c96740000bb018785746703006df5640700000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000855c3401000000010002bb30f6894f29bb6fca635b1df728ad77e48fdd6123ce5e4455b0f71e072e7df80100010000000000855c3400804a1401eab0c7010001000000010003ebcf44b45a71d4f225768f602d1e2e2b25ef779ee9897fe744bf1a16e85423d50100010000000000855c3400804a1401eab0c701000001d00f010020c77512a1d931dafd3c626da4505c11203cccc5008ab132b2b192d1c8dae60a9a4ec18d3a560d4a3dd043de3f9e6174a42fe7a332c82ef18a5d5b05ab9b8d07ac0000628785746703006df5640700000000010000000000eab0c70040cbdaa86c52d5010000000000855c3400000000a8ed3232300000000000855c34000000008090b1ca00000000a8ed32320100000000010000000000eab0c700000000a8ed32320100000000 010000000000000001000000e88df9892637feccbe00398db434f1e3daa30ca388dac6bb22b8cd3bcb52d4bfa2e7bf9199b16f394203e96c5e22e08543ce33f26d253636d62f82a5df03597501000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000c572eabfef0379c57a75f6ed6169c1fe2febf82c79d999b98610a240698d158a0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 5 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":261762,"consumed":1},"cpu_usage":{"last_ordinal":4,"value_ex":48613,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 211c044b910c0303cc8f859867bfb6e2bdeed0828f95c10b8a6dc70ed6f0df6f 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274030000000000000000eab0c7000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f37d0b5be475debe43a193e44eb819b2a7dd3e0c70010598fe401d692e88a870800000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 5 211c044b910c0303cc8f859867bfb6e2bdeed0828f95c10b8a6dc70ed6f0df6f0500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c010164640000000000000000000000000000000001010000010000000000eab0c7aebd0f37c2a254876bbe017eafe0f2027b18ad6b0a2633449c9d849e501ee53008000000000000000800000000000000010000000000eab0c7070000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274030000000000000000eab0c7000000035c97675cb09cbd65f899526cb51e0d97150a6332b1d1cce2b06e254f37d0b5be475debe43a193e44eb819b2a7dd3e0c70010598fe401d692e88a87080000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000211c044b910c0303cc8f859867bfb6e2bdeed0828f95c10b8a6dc70ed6f0df6f0500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c00000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":260467,"consumed":1},"cpu_usage":{"last_ordinal":4,"value_ex":48613,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock d56248fe052dd34d6f825d3f216033f2c6eb15e70c93ee61b779243cb306c96d 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274030000000000000000eab0c700000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f86fdbe85ae39807a9092753aa51649d314c0f7cc2ed1c396c0f4d1832a13a69c00000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 5 d56248fe052dd34d6f825d3f216033f2c6eb15e70c93ee61b779243cb306c96d05000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f010164640000000000000000000000000000000001010000010000000000eab0c76aed947e2dc0793cf54316da89db4daf23475bf6e25c8c78d86a0528fa00022308000000000000000800000000000000010000000000eab0c7070000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274030000000000000000eab0c700000003fcd07f906df564073935a7f0a7a3d6668649c7e7f1c6c4588b5b5b0f86fdbe85ae39807a9092753aa51649d314c0f7cc2ed1c396c0f4d1832a13a69c00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000d56248fe052dd34d6f825d3f216033f2c6eb15e70c93ee61b779243cb306c96d05000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f00000000000000 DMLOG CREATION_OP ROOT 0 DMLOG PERM_OP INS 0 12 {"parent":0,"owner":"bob","name":"owner","last_updated":"2025-01-01T00:00:02.000","auth":{"threshold":1,"keys":[{"key":"SYS6B3rHpc6dGawK1L5ume6nTb25usB8b1neMaw6nU5QBy2VSUF2V","weight":1}],"accounts":[{"permission":{"actor":"bob","permission":"sysio.code"},"weight":1}]}} DMLOG PERM_OP INS 0 13 {"parent":12,"owner":"bob","name":"active","last_updated":"2025-01-01T00:00:02.000","auth":{"threshold":1,"keys":[{"key":"SYS5mF6KuJY8NgNqzKS4oUjoq2q6n3txkprAhtjLb1gyi7nJ7QZLD","weight":1}],"accounts":[{"permission":{"actor":"bob","permission":"sysio.code"},"weight":1}]}} DMLOG RLIMIT_OP ACCOUNT_LIMITS INS {"owner":"bob","net_weight":-1,"cpu_weight":-1,"ram_bytes":-1} DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"bob","net_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"ram_usage":0} DMLOG RAM_OP 0 bob account add newaccount bob 1008 1008 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":263319,"consumed":270},"cpu_usage":{"last_ordinal":4,"value_ex":60188,"consumed":2101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 5 096fc06b6f6d4b30878fa64b1f815c2f2a7265867bcf07b9b4628e52a606d8120500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c7cd4f21944e1b0c11e1958707a5f1a1c324850d491088c2eeed01c0ddc596cc8a09000000000000000900000000000000010000000000eab0c7080000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000000e3d01000000010002a94c5b37723d46f30769c86afe2b0bae5e018b2b6168f52a8bb95d50738efe970100010000000000000e3d00804a1401eab0c7010001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100010000000000000e3d00804a1401eab0c7010000000000000000000001d00f018d0200096fc06b6f6d4b30878fa64b1f815c2f2a7265867bcf07b9b4628e52a606d8120500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c010000000000000e3df003000000000000000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":262024,"consumed":270},"cpu_usage":{"last_ordinal":4,"value_ex":60188,"consumed":2101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 5 4f493bb95f1174795b5f01cbb56fadc9eeda89c929a6bd4d034d15de3586124305000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c7cd4f21944e1b0c11e1958707a5f1a1c324850d491088c2eeed01c0ddc596cc8a09000000000000000900000000000000010000000000eab0c7080000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000000e3d01000000010002a94c5b37723d46f30769c86afe2b0bae5e018b2b6168f52a8bb95d50738efe970100010000000000000e3d00804a1401eab0c7010001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100010000000000000e3d00804a1401eab0c70100000000000000000001d00f018d02004f493bb95f1174795b5f01cbb56fadc9eeda89c929a6bd4d034d15de3586124305000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f010000000000000e3df003000000000000000000000000 DMLOG CREATION_OP ROOT 0 DMLOG PERM_OP INS 0 14 {"parent":0,"owner":"carol","name":"owner","last_updated":"2025-01-01T00:00:02.000","auth":{"threshold":1,"keys":[{"key":"SYS5GPMSkwTUpWYr1kLyXbh2j6Fa4SrGDLE7MZfmYbKdKF96Jg2hF","weight":1}],"accounts":[{"permission":{"actor":"carol","permission":"sysio.code"},"weight":1}]}} DMLOG PERM_OP INS 0 15 {"parent":14,"owner":"carol","name":"active","last_updated":"2025-01-01T00:00:02.000","auth":{"threshold":1,"keys":[{"key":"SYS6YNqCMfToVXfE9FWCJBvXChfp5uXtb45yko8Uc33a89JhQTF6U","weight":1}],"accounts":[{"permission":{"actor":"carol","permission":"sysio.code"},"weight":1}]}} DMLOG RLIMIT_OP ACCOUNT_LIMITS INS {"owner":"carol","net_weight":-1,"cpu_weight":-1,"ram_bytes":-1} DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"carol","net_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"ram_usage":0} DMLOG RAM_OP 0 carol account add newaccount carol 1008 1008 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":264876,"consumed":539},"cpu_usage":{"last_ordinal":4,"value_ex":71763,"consumed":4101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 5 e5585c22087a5847c94bb9c1c5e3c0b5d69fba4f6e6bab980bb573b3fcaa5dff0500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c7332d20f144c65a7ecb3209a341e724531d4637afaec4f38fc99c24638cee3cdd0a000000000000000a00000000000000010000000000eab0c7090000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000008048af410100000001000231b8025d8ccd3bbb454b5a924298d09d317cf4911f38f6010ff89bc244b32dae010001000000008048af4100804a1401eab0c7010001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010001000000008048af4100804a1401eab0c7010000000000000000000001d00f018d0200e5585c22087a5847c94bb9c1c5e3c0b5d69fba4f6e6bab980bb573b3fcaa5dff0500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c01000000008048af41f003000000000000000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":263581,"consumed":539},"cpu_usage":{"last_ordinal":4,"value_ex":71763,"consumed":4101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 5 d962e507f8f535948b02dc2f7c32b523897c87885ce8b242fa3d3be743dbb96705000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c7332d20f144c65a7ecb3209a341e724531d4637afaec4f38fc99c24638cee3cdd0a000000000000000a00000000000000010000000000eab0c7090000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000008048af410100000001000231b8025d8ccd3bbb454b5a924298d09d317cf4911f38f6010ff89bc244b32dae010001000000008048af4100804a1401eab0c7010001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010001000000008048af4100804a1401eab0c70100000000000000000001d00f018d0200d962e507f8f535948b02dc2f7c32b523897c87885ce8b242fa3d3be743dbb96705000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f01000000008048af41f003000000000000000000000000 DMLOG CREATION_OP ROOT 0 DMLOG PERM_OP INS 0 16 {"parent":0,"owner":"charlie","name":"owner","last_updated":"2025-01-01T00:00:02.000","auth":{"threshold":1,"keys":[{"key":"SYS6PK3NNfQuX72hkGVZA7VvdE7ZkK6XSpaex8rqMx8BEFkEjzqUG","weight":1}],"accounts":[{"permission":{"actor":"charlie","permission":"sysio.code"},"weight":1}]}} DMLOG PERM_OP INS 0 17 {"parent":16,"owner":"charlie","name":"active","last_updated":"2025-01-01T00:00:02.000","auth":{"threshold":1,"keys":[{"key":"SYS68Ajgzq9njLeN1XdBUkBR4yQ5GXZLmMK2hUFgEaTqX4KySjNKB","weight":1}],"accounts":[{"permission":{"actor":"charlie","permission":"sysio.code"},"weight":1}]}} DMLOG RLIMIT_OP ACCOUNT_LIMITS INS {"owner":"charlie","net_weight":-1,"cpu_weight":-1,"ram_bytes":-1} DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"charlie","net_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"ram_usage":0} DMLOG RAM_OP 0 charlie account add newaccount charlie 1008 1008 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":266433,"consumed":808},"cpu_usage":{"last_ordinal":4,"value_ex":83338,"consumed":6101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 5 39ae8a5f1ac5fc8bd346c4e971af9c1d595dcab8469694be39275dea6e872f890500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c7bcde7e3233b39abb8db749965f57714c01867d26f1075d0e2606a1714f5473ed0b000000000000000b00000000000000010000000000eab0c70a0000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c700000040b9784d4301000000010002c523f40a0b387b0518ee551ff9def9d961b3ad7d5aa7cb2741a466980c765fd501000100000040b9784d4300804a1401eab0c7010001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000100000040b9784d4300804a1401eab0c7010000000000000000000001d00f018d020039ae8a5f1ac5fc8bd346c4e971af9c1d595dcab8469694be39275dea6e872f890500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c0100000040b9784d43f003000000000000000000000000 -DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":268077,"consumed":1092},"cpu_usage":{"last_ordinal":4,"value_ex":94913,"consumed":8101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 5 8671d4f7b0c14f918b966e578ab80b7ef190eae2e72111740e6996ab922b02370500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c0101d00fd00f00000000000000001c0100000000000001010000010000000000eab0c7fc80ae0df804bb946f33e08001b36c9e815adcd78abb98ed481d3468eddff2ee0c000000000000000c00000000000000010000000000eab0c70b0000000000000001010000000000eab0c70000000000eab0c700000038d15bb3c2010000000000eab0c700000000a8ed32329701030000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed010000000000000000000001d00f019c02008671d4f7b0c14f918b966e578ab80b7ef190eae2e72111740e6996ab922b02370500000004000000010000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":4,"value_ex":373831667,"consumed":820},"average_block_cpu_usage":{"last_ordinal":4,"value_ex":68868114,"consumed":4135},"pending_net_usage":1091,"pending_cpu_usage":8100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1051726,"virtual_cpu_limit":200600} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":5,"value_ex":379808070,"consumed":1462},"average_block_cpu_usage":{"last_ordinal":5,"value_ex":135794213,"consumed":8169},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1052778,"virtual_cpu_limit":200800} -DMLOG ACCEPTED_BLOCK_V2 0000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c 5 1 040000000000000000eab0c70000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5aa84f5bee925a368db58b5880f1e880b76f2c6956afc0a8b13d27dcad864563a800000000000000000000000000000000000000000000000000000000000000000100000000000101000000040000000100000300000000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db401000100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a6600100020000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000001001f3f77d38c4dfaf0665d3d8663b64c09de5bff4d79dea6eba7685fab28b53fba13354e093fa2d7ba19b3ccd9e7026afb95736eb6c083a1ca8d7d8db17e0f4a9f7b0401d00f01001f675f17b54da979f543abef0cc35076e364263c3b8ec610bd21f23bc133ae97e72383668eaf3fffd81fb1577fc26b019eb94d790f0a274f44e8813403e2991f980000bb01878574670400c4b6e63800000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000000e3d01000000010002a94c5b37723d46f30769c86afe2b0bae5e018b2b6168f52a8bb95d50738efe970100010000000000000e3d00804a1401eab0c7010001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100010000000000000e3d00804a1401eab0c701000001d00f01001ff89c569ef30ea1e7771e852ea6350232db5789cf1685e9306d7e66713d2c3c7b7841470bb8fe979bcb180ed370838b681bf31cdae28df61f8bbc5149111b5d3c0000bb01878574670400c4b6e63800000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000008048af410100000001000231b8025d8ccd3bbb454b5a924298d09d317cf4911f38f6010ff89bc244b32dae010001000000008048af4100804a1401eab0c7010001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010001000000008048af4100804a1401eab0c701000001d00f01001f51b4724c9997fb240ddeb938342945653d3b09ced687797c3d9a7c9e3d598906156fe312237d9fb4cf37072a063cf93345701b1f3d3e4ee2ec9432c582ec2e810000bb01878574670400c4b6e63800000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c700000040b9784d4301000000010002c523f40a0b387b0518ee551ff9def9d961b3ad7d5aa7cb2741a466980c765fd501000100000040b9784d4300804a1401eab0c7010001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000100000040b9784d4300804a1401eab0c701000001d00f0100209a1b82e5d0ead766aa35d6f30259327a6f504f9a48b4fa14b6943124bb872796653926d191407f5c3c2eb0a70f25ef6b47d0434c2e6321b69cd80f81fe0100bd0000ca01878574670400c4b6e63800000000010000000000eab0c700000038d15bb3c2010000000000eab0c700000000a8ed32329701030000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed0100000000 010000000000000001000000333aa226453b157c68cd428a6926abc5340c988f619c506c53307a3c3ea8bae423b3eabaf9125b858a00dd9e147d5125b8cb1e21fe09318254e073e9d3048df401000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000000de2f2c0e4f7113817e80a619c1d88f54213ca580458971c3266f41c203bb1ea0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":265138,"consumed":808},"cpu_usage":{"last_ordinal":4,"value_ex":83338,"consumed":6101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 5 6851a2dd745a16290e093d0be012f16aa24cd8b7dc8e118034fbb365494241a305000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f0101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c7bcde7e3233b39abb8db749965f57714c01867d26f1075d0e2606a1714f5473ed0b000000000000000b00000000000000010000000000eab0c70a0000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c700000040b9784d4301000000010002c523f40a0b387b0518ee551ff9def9d961b3ad7d5aa7cb2741a466980c765fd501000100000040b9784d4300804a1401eab0c7010001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000100000040b9784d4300804a1401eab0c70100000000000000000001d00f018d02006851a2dd745a16290e093d0be012f16aa24cd8b7dc8e118034fbb365494241a305000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f0100000040b9784d43f003000000000000000000000000 +DMLOG CREATION_OP ROOT 0 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":4,"value_ex":266782,"consumed":1092},"cpu_usage":{"last_ordinal":4,"value_ex":94913,"consumed":8101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 5 a92561df1b4ab724adb8728a86dc619694e1ccef9bd6fa861d00dfd805a9ff9c05000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f0101d00fd00f00000000000000001c0100000000000001010000010000000000eab0c7fc80ae0df804bb946f33e08001b36c9e815adcd78abb98ed481d3468eddff2ee0c000000000000000c00000000000000010000000000eab0c70b0000000000000001010000000000eab0c70000000000eab0c700000038d15bb3c2010000000000eab0c700000000a8ed32329701030000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed0100000000000000000001d00f019c0200a92561df1b4ab724adb8728a86dc619694e1ccef9bd6fa861d00dfd805a9ff9c05000000040000000100000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":4,"value_ex":371980556,"consumed":818},"average_block_cpu_usage":{"last_ordinal":4,"value_ex":68868114,"consumed":4135},"pending_net_usage":1091,"pending_cpu_usage":8100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1051726,"virtual_cpu_limit":200600} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":5,"value_ex":377972385,"consumed":1460},"average_block_cpu_usage":{"last_ordinal":5,"value_ex":135794213,"consumed":8169},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1052778,"virtual_cpu_limit":200800} +DMLOG ACCEPTED_BLOCK_V2 00000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f 5 1 040000000000000000eab0c700000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb78cc591d7619b9bafc08dd3d1bef053ed9e48c9cfca9ed80ec1dc46ab6825277b00000000000000000000000000000000000000000000000000000000000000000100000000000101000000040000000100000300000000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db401000100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a6600100020000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed010000010020e5b018473a85ed1c923171afbf30cde6aaaabb37de6bc76eb30f6cd9b582808c58ff4cbceeface3dd3a8709493fcd07475bf3fcd0dc04af0f9a215b0ac95b4890401d00f010020bbfbda16613469f24a981876e05f86376361e24a773b27fb55d756b7fd96450953f6425e871911d7ab28418a189e2732e526c13b63463462ffe29814d50ee6a10000bb018785746704004a94ef6300000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c70000000000000e3d01000000010002a94c5b37723d46f30769c86afe2b0bae5e018b2b6168f52a8bb95d50738efe970100010000000000000e3d00804a1401eab0c7010001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100010000000000000e3d00804a1401eab0c701000001d00f01002010c37eb9ff1fe0bc9ff8025bae1ff20dd7c7f09f48aba61a5a9f0519e8d3f41c0c641dd7bfd08de8616e6e7729c2aebebb6c0ac78e09d819e8a287ff5e7d33d50000bb018785746704004a94ef6300000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000008048af410100000001000231b8025d8ccd3bbb454b5a924298d09d317cf4911f38f6010ff89bc244b32dae010001000000008048af4100804a1401eab0c7010001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010001000000008048af4100804a1401eab0c701000001d00f01001ff724ef6ec359d91510cac9dabdfdf331e60d66180857e49d32d5cecbdd3bccba4c7e5afbca47c30aa43bb0a238e596ee76b468f1a5282e3ff905328c528ed6830000bb018785746704004a94ef6300000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c700000040b9784d4301000000010002c523f40a0b387b0518ee551ff9def9d961b3ad7d5aa7cb2741a466980c765fd501000100000040b9784d4300804a1401eab0c7010001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000100000040b9784d4300804a1401eab0c701000001d00f010020e5446e79a11472e503f1f77547104d6adce23b366f3547630a74e12f7525082f2bc59d9974ad3573eb08dd5ed3e712aa4fd97653f006869135509a62bd871fa90000ca018785746704004a94ef6300000000010000000000eab0c700000038d15bb3c2010000000000eab0c700000000a8ed32329701030000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db40100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a660010000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed0100000000 01000000000000000100000062701eb8942ebbd80c2f45e37b8354be0785f0d07db347465b91264673c74a824c0f60787db712d729156f9c4619718d7e8e67f01d2398d8d8d81ecd57cd3d7901000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000539b38c4c6c7f0b3cf8b94c58d1f4fca9ebe4434b3fbd6301e5b938ef8e6fd580001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 6 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":5,"value_ex":268075,"consumed":1},"cpu_usage":{"last_ordinal":5,"value_ex":95491,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock aa344da50a34ccbcf489f7d24b9698964efac53fc1a5571dd26f516ef3a07cd4 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed32329c02040000000000000000eab0c70000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5aa84f5bee925a368db58b5880f1e880b76f2c6956afc0a8b13d27dcad864563a800000000000000000000000000000000000000000000000000000000000000000100000000000101000000040000000100000300000000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db401000100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a6600100020000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed010000000000 -DMLOG APPLIED_TRANSACTION 6 aa344da50a34ccbcf489f7d24b9698964efac53fc1a5571dd26f516ef3a07cd4060000000500000001000000064713482a4fdd99e35b34e588e3fd42f5e3c57efcc6581dfd84464926010164640000000000000000000000000000000001010000010000000000eab0c79cad580959108b10e2f99fe0bf606c8407b13cad6f8c564e9e066a3a59a2f16d0d000000000000000d00000000000000010000000000eab0c70c0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed32329c02040000000000000000eab0c70000000456fb29a6c4b6e6381618dad71d854717d2060840c3e821c6cbd8dd5aa84f5bee925a368db58b5880f1e880b76f2c6956afc0a8b13d27dcad864563a800000000000000000000000000000000000000000000000000000000000000000100000000000101000000040000000100000300000000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db401000100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a6600100020000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000000000000000000000001640000aa344da50a34ccbcf489f7d24b9698964efac53fc1a5571dd26f516ef3a07cd4060000000500000001000000064713482a4fdd99e35b34e588e3fd42f5e3c57efcc6581dfd8446492600000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":5,"value_ex":379808070,"consumed":1462},"average_block_cpu_usage":{"last_ordinal":5,"value_ex":135794213,"consumed":8169},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1052778,"virtual_cpu_limit":200800} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":6,"value_ex":376643002,"consumed":377},"average_block_cpu_usage":{"last_ordinal":6,"value_ex":135495928,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1053831,"virtual_cpu_limit":201001} -DMLOG ACCEPTED_BLOCK_V2 000000064713482a4fdd99e35b34e588e3fd42f5e3c57efcc6581dfd84464926 6 1 050000000000000000eab0c70000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100205d8d5d0724d1e7e6cad031e57f25cd8bdaa2d0adc4fcb1ed85141f906a152e3a12849cfba6f3cf9403e54ef02d97b6249bf826cdfd21b18cc2db252341f37fab000000 0100000000000000010000003ed220803bafa298d21fcc29ccb5f8d6efa7bb211a46bf3e7ff30372f62db615e623c6f21e5bbddb6fa6bb3dc7d6b0903d9fb876ee0c2170298083eec98a73d101000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000007d014d2a54572bdfb107be6b7641c9aa93825fc74af90a592f1fd24a74a5ad710001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":5,"value_ex":266780,"consumed":1},"cpu_usage":{"last_ordinal":5,"value_ex":95491,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 40cd9ee72956ad63f2586cc3db64bbad87e83be2143f7e2141f75b370c07a3bd 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed32329c02040000000000000000eab0c700000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb78cc591d7619b9bafc08dd3d1bef053ed9e48c9cfca9ed80ec1dc46ab6825277b00000000000000000000000000000000000000000000000000000000000000000100000000000101000000040000000100000300000000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db401000100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a6600100020000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed010000000000 +DMLOG APPLIED_TRANSACTION 6 40cd9ee72956ad63f2586cc3db64bbad87e83be2143f7e2141f75b370c07a3bd06000000050000000100000006c53812a82dbe0f714121bf8fc7c107f5f3f550ab665a845e13790828010164640000000000000000000000000000000001010000010000000000eab0c7ba487407903c6a1921c4f0f0278539fa9a713f2dd2736dda524b6d9af97d21b90d000000000000000d00000000000000010000000000eab0c70c0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed32329c02040000000000000000eab0c700000004e0ce62ea4a94ef63fe3080506521e897e8dd95787e80cac39475ceb78cc591d7619b9bafc08dd3d1bef053ed9e48c9cfca9ed80ec1dc46ab6825277b00000000000000000000000000000000000000000000000000000000000000000100000000000101000000040000000100000300000000000000000e3d0001000000010002733e5215e6a4c10d15d9259a96aceacd67108a33a3d1a1d91909f6a9c38a8db401000100000000008048af410001000000010002d9b973b59bc33dd6aafacec1a2e580cff5c68a04fa0cc0b982a51cfd3ec0a6600100020000000040b9784d430001000000010002a2c18841a6c8a4bacbee939dca70aaa21addf3a547e98a7b3a23b2b57345eeed01000000000000000000000164000040cd9ee72956ad63f2586cc3db64bbad87e83be2143f7e2141f75b370c07a3bd06000000050000000100000006c53812a82dbe0f714121bf8fc7c107f5f3f550ab665a845e1379082800000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":5,"value_ex":377972385,"consumed":1460},"average_block_cpu_usage":{"last_ordinal":5,"value_ex":135794213,"consumed":8169},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1052778,"virtual_cpu_limit":200800} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":6,"value_ex":374822615,"consumed":375},"average_block_cpu_usage":{"last_ordinal":6,"value_ex":135495928,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1053831,"virtual_cpu_limit":201001} +DMLOG ACCEPTED_BLOCK_V2 00000006c53812a82dbe0f714121bf8fc7c107f5f3f550ab665a845e13790828 6 1 050000000000000000eab0c700000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020a57a32889e0d22dfed764a0ea0cf589fdea109ab09323b29d0a7b115f1c5fdde471ef7cbb0afd520a0c8a1c66fe2d14b7ec2570b112b7ca4cc1878fb04b6d5ea000000 010000000000000001000000d349e977d9cc1f9e27bc00fc68536902b1784f71d871becec23fecbfbe4429d2948c925929fae4c95b44a5c0421baacc617cea9559bb15f7265510aa1ba6a7ee01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000ec3f5dfd8898c8154df04e6b167105bdbd5bd9796dab701b3af545d0b32f15fb0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 7 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":6,"value_ex":268073,"consumed":1},"cpu_usage":{"last_ordinal":6,"value_ex":96069,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 6f9e7cfc14f25293706b4b163925cb5bee3db715457c0d70de36e29bc4343470 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274050000000000000000eab0c70000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 7 6f9e7cfc14f25293706b4b163925cb5bee3db715457c0d70de36e29bc4343470070000000600000001000000070bab9ebbb7597d8131897420f97ec331eaba53a95cc47c206453322d010164640000000000000000000000000000000001010000010000000000eab0c7db94ee680cd4dc736ae0831346690535226a3dcede63c6e7413148f89cceb2210e000000000000000e00000000000000010000000000eab0c70d0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274050000000000000000eab0c70000000533c2ca95897917ac8b6152787bbfeda0d636b756043067b9051c3b0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400006f9e7cfc14f25293706b4b163925cb5bee3db715457c0d70de36e29bc4343470070000000600000001000000070bab9ebbb7597d8131897420f97ec331eaba53a95cc47c206453322d00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":6,"value_ex":376643002,"consumed":377},"average_block_cpu_usage":{"last_ordinal":6,"value_ex":135495928,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1053831,"virtual_cpu_limit":201001} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":7,"value_ex":373504310,"consumed":374},"average_block_cpu_usage":{"last_ordinal":7,"value_ex":135200129,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1054885,"virtual_cpu_limit":201202} -DMLOG ACCEPTED_BLOCK_V2 000000070bab9ebbb7597d8131897420f97ec331eaba53a95cc47c206453322d 7 1 060000000000000000eab0c7000000064713482a4fdd99e35b34e588e3fd42f5e3c57efcc6581dfd8446492600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001ffa52d25172c879402bb36498f0e962c14ec81715a28c684c6ffcd0aa47bf3fe34424d79a13ad36a0c71674ac7a357c2aa7568282c5e316a9cf23a0e9fc7f029a000000 01000000000000000100000042d5c1cc2e26fdf206b5bb18b2fcefef9b86db26266a94099f90274ca23ab55bcb302f34e5ac819200ee45a767ffd890873b4600f9970beb73bf7df1343436ed01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000ddcb04e561997a17017ef19cd0c8c6ab96deb04d0826fb59fc656d7243946cd10001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":6,"value_ex":266778,"consumed":1},"cpu_usage":{"last_ordinal":6,"value_ex":96069,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 52b47a90477b9c8f15863f890f5cd7282f5a9d32bdb78d6dab8476894d15db83 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274050000000000000000eab0c700000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 7 52b47a90477b9c8f15863f890f5cd7282f5a9d32bdb78d6dab8476894d15db830700000006000000010000000728ad9543525594b17c2043585ccf61fc269893bf61405264e8939794010164640000000000000000000000000000000001010000010000000000eab0c7478a900ff5cb53f44e7faaea1126b7c6f2d4f59ac29eb42d17cb05b4d5793fd80e000000000000000e00000000000000010000000000eab0c70d0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274050000000000000000eab0c700000005882e63376801027a9198b5b93b103233e585f1eca76b36d527396a7f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000164000052b47a90477b9c8f15863f890f5cd7282f5a9d32bdb78d6dab8476894d15db830700000006000000010000000728ad9543525594b17c2043585ccf61fc269893bf61405264e893979400000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":6,"value_ex":374822615,"consumed":375},"average_block_cpu_usage":{"last_ordinal":6,"value_ex":135495928,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1053831,"virtual_cpu_limit":201001} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":7,"value_ex":371699093,"consumed":372},"average_block_cpu_usage":{"last_ordinal":7,"value_ex":135200129,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1054885,"virtual_cpu_limit":201202} +DMLOG ACCEPTED_BLOCK_V2 0000000728ad9543525594b17c2043585ccf61fc269893bf61405264e8939794 7 1 060000000000000000eab0c700000006c53812a82dbe0f714121bf8fc7c107f5f3f550ab665a845e13790828000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020e60d9b5883d3f6157a3a27887d8903ddc38a947207dd2ba5b7eb843209f1642142918f6d5dcc5da8d30ae16105e6c6f26f879ecb95ddb200be4d7c9700e72c26000000 010000000000000001000000ac1313768ed2139a63312313fa75b059c235eb9d670f21706473f761aba1d9145f7757a66f55a1c06899f3771ef0ce58f6745ea7a57e500904c4bc4ab7dbe01301000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000068e170ee1015d504853f920d8c5ba03ecfc52b58397178c3d6fc84a8b521db100001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 8 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":7,"value_ex":268071,"consumed":1},"cpu_usage":{"last_ordinal":7,"value_ex":96647,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock e7d31066097a6d36b1a03b8de6232bf040bfc758a50e56bab26d5f289f740678 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274060000000000000000eab0c7000000064713482a4fdd99e35b34e588e3fd42f5e3c57efcc6581dfd84464926000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 8 e7d31066097a6d36b1a03b8de6232bf040bfc758a50e56bab26d5f289f740678080000000700000001000000088c3f8fef252dbae4e2d6dbe94cc3ed57bc6f0e6aae02d54527d65810010164640000000000000000000000000000000001010000010000000000eab0c7315114a67528ed4f9a6dc467b463f5e3237e84a6dea50a80ee7ea315795b978c0f000000000000000f00000000000000010000000000eab0c70e0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274060000000000000000eab0c7000000064713482a4fdd99e35b34e588e3fd42f5e3c57efcc6581dfd8446492600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000e7d31066097a6d36b1a03b8de6232bf040bfc758a50e56bab26d5f289f740678080000000700000001000000088c3f8fef252dbae4e2d6dbe94cc3ed57bc6f0e6aae02d54527d6581000000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":7,"value_ex":373504310,"consumed":374},"average_block_cpu_usage":{"last_ordinal":7,"value_ex":135200129,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1054885,"virtual_cpu_limit":201202} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":8,"value_ex":370391774,"consumed":371},"average_block_cpu_usage":{"last_ordinal":8,"value_ex":134906795,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1055940,"virtual_cpu_limit":201403} -DMLOG ACCEPTED_BLOCK_V2 000000088c3f8fef252dbae4e2d6dbe94cc3ed57bc6f0e6aae02d54527d65810 8 1 070000000000000000eab0c7000000070bab9ebbb7597d8131897420f97ec331eaba53a95cc47c206453322d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020f52fdf5347d1206f723cefa30c9f490bbe40b68a3a35c36b97549638667ebbca14a7d5982b61a5c82612a764423fc0b29851a8628defe71ca4ebe21e91e01169000000 010000000000000001000000ce5de92b4a6108a4f876397961477ffc9c2402005bf898cc2e6fbb159e0022dac489d5ca4bd4379dc3cc52f6439d553ed8afdbb4428dd24a6cc0e5a9eee58d5701000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000b29a1aebaa49c269c019545e0c4a216e63b236586f27bea0aa8ffcf453590e890001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":7,"value_ex":266776,"consumed":1},"cpu_usage":{"last_ordinal":7,"value_ex":96647,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 57938639b1fbfdbdd85c2efa8b6e7da25d2073038406bf61f7b6841137a06261 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274060000000000000000eab0c700000006c53812a82dbe0f714121bf8fc7c107f5f3f550ab665a845e13790828000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 8 57938639b1fbfdbdd85c2efa8b6e7da25d2073038406bf61f7b6841137a06261080000000700000001000000088707408b7dd83400a07e3de2db7149f302df62f1d09d3f5117463adb010164640000000000000000000000000000000001010000010000000000eab0c77afd76927fea12a999012de375d0c45a55978b606ae8c387195288ab0cd7785d0f000000000000000f00000000000000010000000000eab0c70e0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274060000000000000000eab0c700000006c53812a82dbe0f714121bf8fc7c107f5f3f550ab665a845e1379082800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000164000057938639b1fbfdbdd85c2efa8b6e7da25d2073038406bf61f7b6841137a06261080000000700000001000000088707408b7dd83400a07e3de2db7149f302df62f1d09d3f5117463adb00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":7,"value_ex":371699093,"consumed":372},"average_block_cpu_usage":{"last_ordinal":7,"value_ex":135200129,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1054885,"virtual_cpu_limit":201202} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":8,"value_ex":368601600,"consumed":369},"average_block_cpu_usage":{"last_ordinal":8,"value_ex":134906795,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1055940,"virtual_cpu_limit":201403} +DMLOG ACCEPTED_BLOCK_V2 000000088707408b7dd83400a07e3de2db7149f302df62f1d09d3f5117463adb 8 1 070000000000000000eab0c70000000728ad9543525594b17c2043585ccf61fc269893bf61405264e8939794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020157fb0d1e2a0ca04c5461b0c2cb7be379f9576b74388f220d7744706f2797a2e79137bb200c80c3995a5c05dcb88d5212cc35b15d2fba3b9828dc641ff945aaa000000 01000000000000000100000032a8e650c5337c5ae3c1b8c6ef3104d75a3a49926953a86642dff53d689ae42bef53f718b4f1a3f8a1368ab2b3db7bd08fe1d01fae6e6592b9ab5da9869bea3e01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000335e7b275659c1b5e47e1f8b31f8386b5cb5d95988cdec975df9feb2740b96530001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 9 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":8,"value_ex":268069,"consumed":1},"cpu_usage":{"last_ordinal":8,"value_ex":97225,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 3fba181bfdadbe5902339c8100242b84bcf6bc667767c469a8f1880ab3999008 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274070000000000000000eab0c7000000070bab9ebbb7597d8131897420f97ec331eaba53a95cc47c206453322d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 9 3fba181bfdadbe5902339c8100242b84bcf6bc667767c469a8f1880ab399900809000000080000000100000009366ca9928410ce7f532a7299ff67ff79d3fbbea29ffede66511161c8010164640000000000000000000000000000000001010000010000000000eab0c73e2e3a1b75e9270cd6db8c673fb73bf4e717f4b2bb78325d9f17085cd9bb4e0510000000000000001000000000000000010000000000eab0c70f0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274070000000000000000eab0c7000000070bab9ebbb7597d8131897420f97ec331eaba53a95cc47c206453322d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400003fba181bfdadbe5902339c8100242b84bcf6bc667767c469a8f1880ab399900809000000080000000100000009366ca9928410ce7f532a7299ff67ff79d3fbbea29ffede66511161c800000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":8,"value_ex":370391774,"consumed":371},"average_block_cpu_usage":{"last_ordinal":8,"value_ex":134906795,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1055940,"virtual_cpu_limit":201403} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":9,"value_ex":367305175,"consumed":368},"average_block_cpu_usage":{"last_ordinal":9,"value_ex":134615905,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1056996,"virtual_cpu_limit":201604} -DMLOG ACCEPTED_BLOCK_V2 00000009366ca9928410ce7f532a7299ff67ff79d3fbbea29ffede66511161c8 9 1 080000000000000000eab0c7000000088c3f8fef252dbae4e2d6dbe94cc3ed57bc6f0e6aae02d54527d6581000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002021ddc2028b312a56242cd8ec7cd24f6789bfb0e67fc7c7819aeeb0997a5f90bf1102b9ad39840e51429fb424a62c6835d6a29b7cea59bb912998ff05607578eb000000 0100000000000000010000002f3d5d58c2dd67919f37f9bef3ef9cd4604bef78ffad5a85be8251262a8a0283e089adf61eaf32dcc817cd253d1ca8451b9504a74b2864e1ccc98dd455f91d8801000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000007cdc873ffe785810a3a495ced775e6c5ba3175d5a995fe4265c653312a454e850001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":8,"value_ex":266774,"consumed":1},"cpu_usage":{"last_ordinal":8,"value_ex":97225,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock ee36feab1c8e0f8efc8d6552df967246df9d457129f3123f00390fe95ba04173 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274070000000000000000eab0c70000000728ad9543525594b17c2043585ccf61fc269893bf61405264e8939794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 9 ee36feab1c8e0f8efc8d6552df967246df9d457129f3123f00390fe95ba04173090000000800000001000000098fec8444bb09f24b8682e96a38475070d84e5b854fa26281352fcd91010164640000000000000000000000000000000001010000010000000000eab0c7e1402bff912c975feac3ab97ebb2f47b809a4c66db0bb5ce20b227e86d8f236010000000000000001000000000000000010000000000eab0c70f0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274070000000000000000eab0c70000000728ad9543525594b17c2043585ccf61fc269893bf61405264e8939794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000ee36feab1c8e0f8efc8d6552df967246df9d457129f3123f00390fe95ba04173090000000800000001000000098fec8444bb09f24b8682e96a38475070d84e5b854fa26281352fcd9100000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":8,"value_ex":368601600,"consumed":369},"average_block_cpu_usage":{"last_ordinal":8,"value_ex":134906795,"consumed":235},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1055940,"virtual_cpu_limit":201403} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":9,"value_ex":365529920,"consumed":366},"average_block_cpu_usage":{"last_ordinal":9,"value_ex":134615905,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1056996,"virtual_cpu_limit":201604} +DMLOG ACCEPTED_BLOCK_V2 000000098fec8444bb09f24b8682e96a38475070d84e5b854fa26281352fcd91 9 1 080000000000000000eab0c7000000088707408b7dd83400a07e3de2db7149f302df62f1d09d3f5117463adb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020e618a67730c5bd796ba4413bab2b0a9d24c01c57fb7d1300d47a70ae5df2d828136f4c35770f9b57964241ec9352b1b0504f45977a883a4ef318caf25f724dc9000000 01000000000000000100000043a72798af7e160b5bd7fcbd56bd32ebd95fb27ed6063c7f1ec4aa2b99bd4b10e9cddf64025c7ae5d11fc81fb87a4efdb13a88ff42113e491bf0908eaceb78c701000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000004d846941d5c234b8fc0b3d865b16377225d6cb834ff1401f61944f5028a2bbf20001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 10 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":9,"value_ex":268067,"consumed":1},"cpu_usage":{"last_ordinal":9,"value_ex":97803,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 48d4059b30b66418e7367ea35fc4e1f8cd63dba500265b3e1da817a6e3249f10 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274080000000000000000eab0c7000000088c3f8fef252dbae4e2d6dbe94cc3ed57bc6f0e6aae02d54527d65810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 10 48d4059b30b66418e7367ea35fc4e1f8cd63dba500265b3e1da817a6e3249f100a00000009000000010000000aa1bfdbd5ad0e145d9d75a1a870da8986b2f96e19d81b0922d915975b010164640000000000000000000000000000000001010000010000000000eab0c7f9db3469e431c6718bc24016e94e8d6b153874c117523d09169ba52b84808b3411000000000000001100000000000000010000000000eab0c7100000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274080000000000000000eab0c7000000088c3f8fef252dbae4e2d6dbe94cc3ed57bc6f0e6aae02d54527d658100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000048d4059b30b66418e7367ea35fc4e1f8cd63dba500265b3e1da817a6e3249f100a00000009000000010000000aa1bfdbd5ad0e145d9d75a1a870da8986b2f96e19d81b0922d915975b00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":9,"value_ex":367305175,"consumed":368},"average_block_cpu_usage":{"last_ordinal":9,"value_ex":134615905,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1056996,"virtual_cpu_limit":201604} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":10,"value_ex":364244298,"consumed":365},"average_block_cpu_usage":{"last_ordinal":10,"value_ex":134327439,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1058054,"virtual_cpu_limit":201805} -DMLOG ACCEPTED_BLOCK_V2 0000000aa1bfdbd5ad0e145d9d75a1a870da8986b2f96e19d81b0922d915975b 10 1 090000000000000000eab0c700000009366ca9928410ce7f532a7299ff67ff79d3fbbea29ffede66511161c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100208cded1285bb8363a6ed6832ea6a69408474f2a59ac56fcc46bbe49fb4525e70c20f0434a256afc5f657f611d80c9e5c10d6be7377fd1458c33210c1003997d23000000 010000000000000001000000ec2ad5db41cf51260d7cec184b9dffdb59fa341b418c76c224210109c31704e6d5b25571b3d0720c0377f8d019f317cde6100aa59d6892727870c8a6caef384b01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000220b7ef6db4f2c0aac7742a5953d76e2e39d64e39694b26fbc26e13fe129bcc00001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":9,"value_ex":266772,"consumed":1},"cpu_usage":{"last_ordinal":9,"value_ex":97803,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock cdfd3ff3a244e55207486f83601cbaaa7f081f4100164c6fbace194ee06f8d98 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274080000000000000000eab0c7000000088707408b7dd83400a07e3de2db7149f302df62f1d09d3f5117463adb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 10 cdfd3ff3a244e55207486f83601cbaaa7f081f4100164c6fbace194ee06f8d980a00000009000000010000000adbbfe01a88b3c06debd9cbe92380d8afa84705bbefdc8a82abc69a63010164640000000000000000000000000000000001010000010000000000eab0c725224dd8a3692d0d00ccdf411a60b8646b71f3595a8379e971270a80a5add3da11000000000000001100000000000000010000000000eab0c7100000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274080000000000000000eab0c7000000088707408b7dd83400a07e3de2db7149f302df62f1d09d3f5117463adb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000cdfd3ff3a244e55207486f83601cbaaa7f081f4100164c6fbace194ee06f8d980a00000009000000010000000adbbfe01a88b3c06debd9cbe92380d8afa84705bbefdc8a82abc69a6300000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":9,"value_ex":365529920,"consumed":366},"average_block_cpu_usage":{"last_ordinal":9,"value_ex":134615905,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1056996,"virtual_cpu_limit":201604} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":10,"value_ex":362483837,"consumed":363},"average_block_cpu_usage":{"last_ordinal":10,"value_ex":134327439,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1058054,"virtual_cpu_limit":201805} +DMLOG ACCEPTED_BLOCK_V2 0000000adbbfe01a88b3c06debd9cbe92380d8afa84705bbefdc8a82abc69a63 10 1 090000000000000000eab0c7000000098fec8444bb09f24b8682e96a38475070d84e5b854fa26281352fcd9100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002054aef60b08fa7c24aebe511a0baee6d7cb9b7cec26ccda12a4a6b5e7137f335b30179cbe606667e240ba8609ba01001319cb20c16fcb441683826cd4600f20c5000000 0100000000000000010000003f4ccafc0498347dd146decadbc46f9cc2724751afe0a2f9203252d6bf5e01a8bd764305fb14244e65f05ffba0971530a9a26b3ed15cbcf01fc360683c673f3201000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000d3e42776c8a2aacebdb8ff810f24024ab8fd38e2caf80238a49c89cbeadc7dd40001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 11 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":10,"value_ex":268065,"consumed":1},"cpu_usage":{"last_ordinal":10,"value_ex":98381,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 5fcb25080bc372bd1125d3fb8214dca60ffac32599aa48900c7ff5401e263763 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274090000000000000000eab0c700000009366ca9928410ce7f532a7299ff67ff79d3fbbea29ffede66511161c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 11 5fcb25080bc372bd1125d3fb8214dca60ffac32599aa48900c7ff5401e2637630b0000000a000000010000000be9b217930b9ffc65fcaf6826c9b89598962e1cd8b6163c73e65777dc010164640000000000000000000000000000000001010000010000000000eab0c75d701a09e25ad2ede79d921efa2ecb55a280e7a5c102494ac6117b27318d3fa012000000000000001200000000000000010000000000eab0c7110000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274090000000000000000eab0c700000009366ca9928410ce7f532a7299ff67ff79d3fbbea29ffede66511161c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400005fcb25080bc372bd1125d3fb8214dca60ffac32599aa48900c7ff5401e2637630b0000000a000000010000000be9b217930b9ffc65fcaf6826c9b89598962e1cd8b6163c73e65777dc00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":10,"value_ex":364244298,"consumed":365},"average_block_cpu_usage":{"last_ordinal":10,"value_ex":134327439,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1058054,"virtual_cpu_limit":201805} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":11,"value_ex":361208928,"consumed":362},"average_block_cpu_usage":{"last_ordinal":11,"value_ex":134041377,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1059113,"virtual_cpu_limit":202007} -DMLOG ACCEPTED_BLOCK_V2 0000000be9b217930b9ffc65fcaf6826c9b89598962e1cd8b6163c73e65777dc 11 1 0a0000000000000000eab0c70000000aa1bfdbd5ad0e145d9d75a1a870da8986b2f96e19d81b0922d915975b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100206c51100968e5de0719ce2e1a75bbd35633a09c97ffbdb28b10cbe750c1b3a5ab47ea0e70202273d68a47647488e04c36c1047f79d05c0d8450f2c7d467f642db000000 010000000000000001000000c1ad2352f1a8cf8dbf590f88de81209c902b37e6aff506dc0626567860f8573f3961369f105fb923e1b266d70054ad47d660d025fa4c76d96f0392180f32d68801000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000418990fda7d57def62c50ff3b8e03f2eea59a8d151bdaddb5dac5239cd70b4530001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":10,"value_ex":266770,"consumed":1},"cpu_usage":{"last_ordinal":10,"value_ex":98381,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 2cbba79acc16d029f1930b24daa32f93d674e927a6aa927832728b919d56e10f 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274090000000000000000eab0c7000000098fec8444bb09f24b8682e96a38475070d84e5b854fa26281352fcd91000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 11 2cbba79acc16d029f1930b24daa32f93d674e927a6aa927832728b919d56e10f0b0000000a000000010000000bd0da342af979ada4941f0bacd5808830a983a7f29b9bc2618a6fc35b010164640000000000000000000000000000000001010000010000000000eab0c74a22677deda71d4545aaae485e732c9926a7dbc72cc770c3110789c67b93fec012000000000000001200000000000000010000000000eab0c7110000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274090000000000000000eab0c7000000098fec8444bb09f24b8682e96a38475070d84e5b854fa26281352fcd910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400002cbba79acc16d029f1930b24daa32f93d674e927a6aa927832728b919d56e10f0b0000000a000000010000000bd0da342af979ada4941f0bacd5808830a983a7f29b9bc2618a6fc35b00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":10,"value_ex":362483837,"consumed":363},"average_block_cpu_usage":{"last_ordinal":10,"value_ex":134327439,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1058054,"virtual_cpu_limit":201805} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":11,"value_ex":359463138,"consumed":360},"average_block_cpu_usage":{"last_ordinal":11,"value_ex":134041377,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1059113,"virtual_cpu_limit":202007} +DMLOG ACCEPTED_BLOCK_V2 0000000bd0da342af979ada4941f0bacd5808830a983a7f29b9bc2618a6fc35b 11 1 0a0000000000000000eab0c70000000adbbfe01a88b3c06debd9cbe92380d8afa84705bbefdc8a82abc69a6300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f3fb907eb59e0701ac9bcc51062f36ff15aba840526ba54e4e17ad2e31aae0f8f1e4dd7c82a19c94dc5c24367fd93381ecccb2f850415ea369670db5efa3d5443000000 0100000000000000010000000734178f07a6e73c9d87b91a630b9c7c7d250e13320bdd9c3083425aa7db97d78d55879373e02171cb4a1555a84f853df846cc9d011169fd9efcc7376592b5bf01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000058b1a0b90017ee6945133b0369ab875f1bcf054830d429d599987d58f644725e0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 12 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":11,"value_ex":268063,"consumed":1},"cpu_usage":{"last_ordinal":11,"value_ex":98959,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock ce5cfefcb43c7d9f650cc49e84f7218bcbafe2ed769d652cf6b337284290ffce 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740a0000000000000000eab0c70000000aa1bfdbd5ad0e145d9d75a1a870da8986b2f96e19d81b0922d915975b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 12 ce5cfefcb43c7d9f650cc49e84f7218bcbafe2ed769d652cf6b337284290ffce0c0000000b000000010000000c987d76c704c6de15bc1ba44bfeba7559c8f0104015febbbcb37be747010164640000000000000000000000000000000001010000010000000000eab0c7c4ef30dd2c9ec1d3a9c6534daa784c2ba607020602d8de0c8dfe6007979298a213000000000000001300000000000000010000000000eab0c7120000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740a0000000000000000eab0c70000000aa1bfdbd5ad0e145d9d75a1a870da8986b2f96e19d81b0922d915975b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000ce5cfefcb43c7d9f650cc49e84f7218bcbafe2ed769d652cf6b337284290ffce0c0000000b000000010000000c987d76c704c6de15bc1ba44bfeba7559c8f0104015febbbcb37be74700000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":11,"value_ex":361208928,"consumed":362},"average_block_cpu_usage":{"last_ordinal":11,"value_ex":134041377,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1059113,"virtual_cpu_limit":202007} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":12,"value_ex":358198853,"consumed":359},"average_block_cpu_usage":{"last_ordinal":12,"value_ex":133757699,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1060173,"virtual_cpu_limit":202209} -DMLOG ACCEPTED_BLOCK_V2 0000000c987d76c704c6de15bc1ba44bfeba7559c8f0104015febbbcb37be747 12 1 0b0000000000000000eab0c70000000be9b217930b9ffc65fcaf6826c9b89598962e1cd8b6163c73e65777dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f7df6609c93801685abb2776d642838b05ddf48ec5d111349ce09196cd5b3d12e4803b5d5d1aa392b7e8b15ec6356e21b71fdb428ef39a453864224605a3231fe000000 010000000000000001000000cedbfe5fd426fa846d05738efb52ac54b8a5258be83a710d73a7e35b3f7766286046bbf8929f28f8c91a658fb72242e446519c57527434498b618d52b9925ed201000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000007352c2e77cdae477c82d185ce58179f3c9974f6c562168863789c2f588c670990001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":11,"value_ex":266768,"consumed":1},"cpu_usage":{"last_ordinal":11,"value_ex":98959,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 4411e89f1a316bd35f6d6b71ed62f57b94c6b4564978d356a15633d3a1fd0698 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740a0000000000000000eab0c70000000adbbfe01a88b3c06debd9cbe92380d8afa84705bbefdc8a82abc69a63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 12 4411e89f1a316bd35f6d6b71ed62f57b94c6b4564978d356a15633d3a1fd06980c0000000b000000010000000c7f22a294465e34d4309de353e194bb25a4977c1c4bdd3939f7d5d024010164640000000000000000000000000000000001010000010000000000eab0c7a3b7a443b6f123f5cdf9a0c5af0c6839582cbeecc35710b66fbb762a8f9165a613000000000000001300000000000000010000000000eab0c7120000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740a0000000000000000eab0c70000000adbbfe01a88b3c06debd9cbe92380d8afa84705bbefdc8a82abc69a630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400004411e89f1a316bd35f6d6b71ed62f57b94c6b4564978d356a15633d3a1fd06980c0000000b000000010000000c7f22a294465e34d4309de353e194bb25a4977c1c4bdd3939f7d5d02400000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":11,"value_ex":359463138,"consumed":360},"average_block_cpu_usage":{"last_ordinal":11,"value_ex":134041377,"consumed":234},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1059113,"virtual_cpu_limit":202007} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":12,"value_ex":356467611,"consumed":357},"average_block_cpu_usage":{"last_ordinal":12,"value_ex":133757699,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1060173,"virtual_cpu_limit":202209} +DMLOG ACCEPTED_BLOCK_V2 0000000c7f22a294465e34d4309de353e194bb25a4977c1c4bdd3939f7d5d024 12 1 0b0000000000000000eab0c70000000bd0da342af979ada4941f0bacd5808830a983a7f29b9bc2618a6fc35b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f98caf7003eab44a468755bfd027d5ef06d98cc5b9b42a6f77c8aeec2a8a8dcae6c422ed248ff7e015207dd8b2918cda1429482b668e50019e9523c22e1c6dd72000000 0100000000000000010000008179aa3addd62e0c1ddba90b3396f978647c31f62dcdc6dacf9cc0b072a5fbb67c42f66dd9debccb8ec8f47f51afa809118a256d4eb20c7c1856cf078234349d01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000053c6124e9555f22848167ceb70f00fa61dc307689bdf2ad677e59f84f4c9cfa60001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 13 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":12,"value_ex":268061,"consumed":1},"cpu_usage":{"last_ordinal":12,"value_ex":99537,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock a1650d93917205baea7fed83ef21078481b5973ea33d1f67b5d909d6ceb170a0 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740b0000000000000000eab0c70000000be9b217930b9ffc65fcaf6826c9b89598962e1cd8b6163c73e65777dc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 13 a1650d93917205baea7fed83ef21078481b5973ea33d1f67b5d909d6ceb170a00d0000000c000000010000000d92bb2684788eb15732a069fa468733ecb358e6a5296def622c4cc204010164640000000000000000000000000000000001010000010000000000eab0c7d31d2e6198b4cf7a2d028bbd06ab4c6bcb9338ca839e343c4d1545e91aa285dd14000000000000001400000000000000010000000000eab0c7130000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740b0000000000000000eab0c70000000be9b217930b9ffc65fcaf6826c9b89598962e1cd8b6163c73e65777dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000a1650d93917205baea7fed83ef21078481b5973ea33d1f67b5d909d6ceb170a00d0000000c000000010000000d92bb2684788eb15732a069fa468733ecb358e6a5296def622c4cc20400000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":12,"value_ex":358198853,"consumed":359},"average_block_cpu_usage":{"last_ordinal":12,"value_ex":133757699,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1060173,"virtual_cpu_limit":202209} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":13,"value_ex":355213862,"consumed":356},"average_block_cpu_usage":{"last_ordinal":13,"value_ex":133476385,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1061234,"virtual_cpu_limit":202411} -DMLOG ACCEPTED_BLOCK_V2 0000000d92bb2684788eb15732a069fa468733ecb358e6a5296def622c4cc204 13 1 0c0000000000000000eab0c70000000c987d76c704c6de15bc1ba44bfeba7559c8f0104015febbbcb37be74700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f9e4c87f480834563b7ebca3cd45ec56ce3f73579331cb72337912f186f6fe0b91bf31fc19a76cf5805be2ae35d568025da37690684a110a210824ae0b9c97351000000 010000000000000001000000c89725f60e9c7b3b380bdd7b97bb95c5abea735fc3f84efbaedf988bba744eff3c3bd5f5b513af29a5857128e2c65aeae738415406ac4dfca4f0738a3d288fd201000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000947e486820439b16bb818d84cde5f4d32248dcca3fb610ff00382fe956d672ac0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":12,"value_ex":266766,"consumed":1},"cpu_usage":{"last_ordinal":12,"value_ex":99537,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 874f5448500249a37dbe47368cb3d3fa92b04cdfcbf2c902ba26d15d0f3e37c2 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740b0000000000000000eab0c70000000bd0da342af979ada4941f0bacd5808830a983a7f29b9bc2618a6fc35b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 13 874f5448500249a37dbe47368cb3d3fa92b04cdfcbf2c902ba26d15d0f3e37c20d0000000c000000010000000d9b416eee7030c4a2d619f62d1e7976e89a7b4b5d39c60c60356c2479010164640000000000000000000000000000000001010000010000000000eab0c7e888a63db6f88926e91da2ddfa0d439a8fb174a42589febf0c6acfd09dcaf7e214000000000000001400000000000000010000000000eab0c7130000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740b0000000000000000eab0c70000000bd0da342af979ada4941f0bacd5808830a983a7f29b9bc2618a6fc35b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000874f5448500249a37dbe47368cb3d3fa92b04cdfcbf2c902ba26d15d0f3e37c20d0000000c000000010000000d9b416eee7030c4a2d619f62d1e7976e89a7b4b5d39c60c60356c247900000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":12,"value_ex":356467611,"consumed":357},"average_block_cpu_usage":{"last_ordinal":12,"value_ex":133757699,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1060173,"virtual_cpu_limit":202209} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":13,"value_ex":353497047,"consumed":354},"average_block_cpu_usage":{"last_ordinal":13,"value_ex":133476385,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1061234,"virtual_cpu_limit":202411} +DMLOG ACCEPTED_BLOCK_V2 0000000d9b416eee7030c4a2d619f62d1e7976e89a7b4b5d39c60c60356c2479 13 1 0c0000000000000000eab0c70000000c7f22a294465e34d4309de353e194bb25a4977c1c4bdd3939f7d5d02400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001fccf86a342d4d60b337bd534bd994fe109a0da556e974a6f9bb4e3abb247884444f79373ce80a472c171f0be31bb0ca297d5a2d5006f0122117b8f13740fa14e2000000 0100000000000000010000007ae42011f6d27549be6f058761b197076133026f34e8af2d26ec2198343f5312cdba78a8f4d4a1a12658498c2b6e32e4065b5a6d64b204dbd21e495b319d044801000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000005ff87b9431c1c25edb6f63a8f3154ddaaf0f61603cf53b8c4de24b2ae14be61e0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 14 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":13,"value_ex":268059,"consumed":1},"cpu_usage":{"last_ordinal":13,"value_ex":100115,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 02c3e5f52bf983f68acdcd89b31adf46461e0dc9d97d1f751b844af3626bc821 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740c0000000000000000eab0c70000000c987d76c704c6de15bc1ba44bfeba7559c8f0104015febbbcb37be747000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 14 02c3e5f52bf983f68acdcd89b31adf46461e0dc9d97d1f751b844af3626bc8210e0000000d000000010000000ed72060edf748f3b3039a9c820f849bf829df93bb1603a907f80172f2010164640000000000000000000000000000000001010000010000000000eab0c79c0dace835f591a45fed20e3ec75d095bdca6c61b285c18edbdf0939521a781615000000000000001500000000000000010000000000eab0c7140000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740c0000000000000000eab0c70000000c987d76c704c6de15bc1ba44bfeba7559c8f0104015febbbcb37be7470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000002c3e5f52bf983f68acdcd89b31adf46461e0dc9d97d1f751b844af3626bc8210e0000000d000000010000000ed72060edf748f3b3039a9c820f849bf829df93bb1603a907f80172f200000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":13,"value_ex":355213862,"consumed":356},"average_block_cpu_usage":{"last_ordinal":13,"value_ex":133476385,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1061234,"virtual_cpu_limit":202411} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":14,"value_ex":352253746,"consumed":353},"average_block_cpu_usage":{"last_ordinal":14,"value_ex":133197415,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1062296,"virtual_cpu_limit":202613} -DMLOG ACCEPTED_BLOCK_V2 0000000ed72060edf748f3b3039a9c820f849bf829df93bb1603a907f80172f2 14 1 0d0000000000000000eab0c70000000d92bb2684788eb15732a069fa468733ecb358e6a5296def622c4cc20400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f72cee54341f6520ddd1c0669c49da734cd52170e81b23e5d35f447c02e66a8294fb8af1d31b0a6efcddbdbf7c16e258d481c9db50d3d8d16c8818c2acf2b7cf8000000 01000000000000000100000039666dca3987ad117c50cff0d3ba2c6a0566f214b36d07a0ee3ec460a476d3eae1d9fbaa9b8d1d2a03240a048da72af03e74ccc2a262d54878c66c4a1d4012f001000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000003d837700783807dacf220c5b2fe4343620ef187e3298c9b92e5afe88b937bf500001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":13,"value_ex":266764,"consumed":1},"cpu_usage":{"last_ordinal":13,"value_ex":100115,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock c8dac702ea27a38e87c93d39cb887358ba366cbfa82d70586cbc0071e460857f 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740c0000000000000000eab0c70000000c7f22a294465e34d4309de353e194bb25a4977c1c4bdd3939f7d5d024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 14 c8dac702ea27a38e87c93d39cb887358ba366cbfa82d70586cbc0071e460857f0e0000000d000000010000000e0cedc6675ea744b25ba0c71acdc2fac18717dcb01d29b9505d649526010164640000000000000000000000000000000001010000010000000000eab0c7d3d5cfc50f63ea1940c85ae843e537fa7d6605eed33cf4b60556a1435d2687ee15000000000000001500000000000000010000000000eab0c7140000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740c0000000000000000eab0c70000000c7f22a294465e34d4309de353e194bb25a4977c1c4bdd3939f7d5d024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000c8dac702ea27a38e87c93d39cb887358ba366cbfa82d70586cbc0071e460857f0e0000000d000000010000000e0cedc6675ea744b25ba0c71acdc2fac18717dcb01d29b9505d64952600000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":13,"value_ex":353497047,"consumed":354},"average_block_cpu_usage":{"last_ordinal":13,"value_ex":133476385,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1061234,"virtual_cpu_limit":202411} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":14,"value_ex":350551238,"consumed":351},"average_block_cpu_usage":{"last_ordinal":14,"value_ex":133197415,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1062296,"virtual_cpu_limit":202613} +DMLOG ACCEPTED_BLOCK_V2 0000000e0cedc6675ea744b25ba0c71acdc2fac18717dcb01d29b9505d649526 14 1 0d0000000000000000eab0c70000000d9b416eee7030c4a2d619f62d1e7976e89a7b4b5d39c60c60356c2479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020e1d8731f72453f33a7e9569df0179d22c509e4f3bef4b1e80773f7fd949828166b14ae903570b00c2bdb28a548a0c5a5ad5d450c397e7ebb3646ec5d493e4612000000 010000000000000001000000a3f04fc03d79fd3d8f2fc79f24f1a49945c2554c67ea2358ccbbdee7106afed809e6cfe22d143859801013a20c3e88c384d3d59fb4c83d8e4304bf27ab10f68601000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000644e678e2f47e823b7abf088e82ee2da450789977c9819fb43000ea7386a1a590001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 15 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":14,"value_ex":268057,"consumed":1},"cpu_usage":{"last_ordinal":14,"value_ex":100693,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 86255eaa234263b387e0cb53a5ffaa2b70f1590dc7ef223f283e17546dbb3227 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740d0000000000000000eab0c70000000d92bb2684788eb15732a069fa468733ecb358e6a5296def622c4cc204000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 15 86255eaa234263b387e0cb53a5ffaa2b70f1590dc7ef223f283e17546dbb32270f0000000e000000010000000f37eae1f509931a69bb28a6b4b2e66891546aead4599e740442e0cbff010164640000000000000000000000000000000001010000010000000000eab0c772e785f4a4d5db22c3e07236e8cc3edc98d55ee26d38e6a7bf4ae236e5339ff016000000000000001600000000000000010000000000eab0c7150000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740d0000000000000000eab0c70000000d92bb2684788eb15732a069fa468733ecb358e6a5296def622c4cc2040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000086255eaa234263b387e0cb53a5ffaa2b70f1590dc7ef223f283e17546dbb32270f0000000e000000010000000f37eae1f509931a69bb28a6b4b2e66891546aead4599e740442e0cbff00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":14,"value_ex":352253746,"consumed":353},"average_block_cpu_usage":{"last_ordinal":14,"value_ex":133197415,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1062296,"virtual_cpu_limit":202613} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":15,"value_ex":349318298,"consumed":350},"average_block_cpu_usage":{"last_ordinal":15,"value_ex":132920770,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1063359,"virtual_cpu_limit":202815} -DMLOG ACCEPTED_BLOCK_V2 0000000f37eae1f509931a69bb28a6b4b2e66891546aead4599e740442e0cbff 15 1 0e0000000000000000eab0c70000000ed72060edf748f3b3039a9c820f849bf829df93bb1603a907f80172f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002045367cbdca04df4b0898d5ef1d08cf77348e199069a17ab2e94f5c35153342be0dba0ef6f488f1303c6b817202e146a2a594df830770eda13d12ddafa4d8dd17000000 01000000000000000100000011d47e3331d6ab315d71dce3e8db0ef89af00ea152888af39fc78ecaa70772d61adc30a4a477ef3a8901dedc969392a5d3ab8c1a4f9762bf48d8b6dc835dcb2c01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000d87deced6bc1626ba308723fea83745314421dff61d58a42dc9e47a288dfdd9b0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":14,"value_ex":266762,"consumed":1},"cpu_usage":{"last_ordinal":14,"value_ex":100693,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 25a3fe228aa0cb71f346ffab255fc1db3993f36c96938fec130aeb2c2f60343e 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740d0000000000000000eab0c70000000d9b416eee7030c4a2d619f62d1e7976e89a7b4b5d39c60c60356c2479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 15 25a3fe228aa0cb71f346ffab255fc1db3993f36c96938fec130aeb2c2f60343e0f0000000e000000010000000f9277a1feb98543d3f063c2e97956e57738dd7caa784de20b295136c9010164640000000000000000000000000000000001010000010000000000eab0c783cb42a53a58b71daebe67e1d7d12f5300466975a6d6750941b79b967ed84b2616000000000000001600000000000000010000000000eab0c7150000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740d0000000000000000eab0c70000000d9b416eee7030c4a2d619f62d1e7976e89a7b4b5d39c60c60356c247900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000164000025a3fe228aa0cb71f346ffab255fc1db3993f36c96938fec130aeb2c2f60343e0f0000000e000000010000000f9277a1feb98543d3f063c2e97956e57738dd7caa784de20b295136c900000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":14,"value_ex":350551238,"consumed":351},"average_block_cpu_usage":{"last_ordinal":14,"value_ex":133197415,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1062296,"virtual_cpu_limit":202613} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":15,"value_ex":347629977,"consumed":348},"average_block_cpu_usage":{"last_ordinal":15,"value_ex":132920770,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1063359,"virtual_cpu_limit":202815} +DMLOG ACCEPTED_BLOCK_V2 0000000f9277a1feb98543d3f063c2e97956e57738dd7caa784de20b295136c9 15 1 0e0000000000000000eab0c70000000e0cedc6675ea744b25ba0c71acdc2fac18717dcb01d29b9505d64952600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f1f1992fbafc1ecabce177c06ec054a50249ed02da5a475377d8d9012c4ba077e4e70706f71e1ea461a83fa85ec2fbe70082b3c5a53f4d3f89e1655623fbd39b8000000 01000000000000000100000023410cfa4f6866c4f54c944a83352bac9ae0d2f4764e7e5c873a14fb16135d5475412b6e96a24c69d040c3a5ad636d98f6789e9e3606d285bb0d53670b6076f601000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000031ca6309cb5546115b698a4911af26aa6aa244a441fa84d7d2302b0e426fbffc0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 16 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":15,"value_ex":268055,"consumed":1},"cpu_usage":{"last_ordinal":15,"value_ex":101271,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock c2bb30581e2e83bb5e938601ee6354b27f1519f7a7673a5ae042b9389eb746be 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740e0000000000000000eab0c70000000ed72060edf748f3b3039a9c820f849bf829df93bb1603a907f80172f2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 16 c2bb30581e2e83bb5e938601ee6354b27f1519f7a7673a5ae042b9389eb746be100000000f000000010000001023d308725155ce0388f8f3dc2b295e2cdef179296896b822976b24f8010164640000000000000000000000000000000001010000010000000000eab0c7bce04008fc0065541093e203915bb14fe76427c852d9b9c4de102a17503e372517000000000000001700000000000000010000000000eab0c7160000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740e0000000000000000eab0c70000000ed72060edf748f3b3039a9c820f849bf829df93bb1603a907f80172f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000c2bb30581e2e83bb5e938601ee6354b27f1519f7a7673a5ae042b9389eb746be100000000f000000010000001023d308725155ce0388f8f3dc2b295e2cdef179296896b822976b24f800000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":15,"value_ex":349318298,"consumed":350},"average_block_cpu_usage":{"last_ordinal":15,"value_ex":132920770,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1063359,"virtual_cpu_limit":202815} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":16,"value_ex":346407312,"consumed":347},"average_block_cpu_usage":{"last_ordinal":16,"value_ex":132646430,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1064423,"virtual_cpu_limit":203018} -DMLOG ACCEPTED_BLOCK_V2 0000001023d308725155ce0388f8f3dc2b295e2cdef179296896b822976b24f8 16 1 0f0000000000000000eab0c70000000f37eae1f509931a69bb28a6b4b2e66891546aead4599e740442e0cbff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f4f51a61b749b31bb5ef1db43e7c30118e1bf6f8bc3011d3a2c19d50f1a1e53254821d3b9c7a0881f47ee4b68b8ad98fba5819aae200521fd132b092ba5c448e8000000 010000000000000001000000478788da27bedc7f700a723181678b45262fd300aed66ddacd77e1ae07179fd4a4d89e931f74294aea6b93ba1e9936fb3cd4970c1b4ab9c2b7d26a453036c85901000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000591227da8c0dc1abc9bf48d97101bae2346b9c321924edd6cfd3370d7f7120d40001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":15,"value_ex":266760,"consumed":1},"cpu_usage":{"last_ordinal":15,"value_ex":101271,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 4e68b29642dee8cda9bdb9086c0e54bd4f23d15a48dde096d2f9aaac2edeabc2 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740e0000000000000000eab0c70000000e0cedc6675ea744b25ba0c71acdc2fac18717dcb01d29b9505d649526000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 16 4e68b29642dee8cda9bdb9086c0e54bd4f23d15a48dde096d2f9aaac2edeabc2100000000f0000000100000010f0bb7d9bd86744350f59b25c5e8cddcc262d9f03175ce50a89cc7b12010164640000000000000000000000000000000001010000010000000000eab0c7239d7a17c454faa6983824b0361948d82ba6ee1715d923df82e388958fd6e75e17000000000000001700000000000000010000000000eab0c7160000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740e0000000000000000eab0c70000000e0cedc6675ea744b25ba0c71acdc2fac18717dcb01d29b9505d6495260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400004e68b29642dee8cda9bdb9086c0e54bd4f23d15a48dde096d2f9aaac2edeabc2100000000f0000000100000010f0bb7d9bd86744350f59b25c5e8cddcc262d9f03175ce50a89cc7b1200000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":15,"value_ex":347629977,"consumed":348},"average_block_cpu_usage":{"last_ordinal":15,"value_ex":132920770,"consumed":233},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1063359,"virtual_cpu_limit":202815} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":16,"value_ex":344733060,"consumed":345},"average_block_cpu_usage":{"last_ordinal":16,"value_ex":132646430,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1064423,"virtual_cpu_limit":203018} +DMLOG ACCEPTED_BLOCK_V2 00000010f0bb7d9bd86744350f59b25c5e8cddcc262d9f03175ce50a89cc7b12 16 1 0f0000000000000000eab0c70000000f9277a1feb98543d3f063c2e97956e57738dd7caa784de20b295136c90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100201460bfd1701213a2fa4ccb236c86f0a2b41abf976c2479bbca344397bf905abf6e7419ac2dfdd11430f5e3a9a7ff8f68b14999a4d51db9da1bd3fc81086402db000000 010000000000000001000000fa7696e53fee8b75962824f09c6e88656fb3dc01621dfa8f0541fe2db17c7bc3ebe3632012b24ea04c00f77dc31cbe642127a32c6cc44c039721816a552693f101000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000009f5d15a74d2cc550a15d0da587b8e80e85c6e393dd90723d6c168ab7edfb26d90001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 17 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":16,"value_ex":268053,"consumed":1},"cpu_usage":{"last_ordinal":16,"value_ex":101849,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 20b63a109cd71239c73c64e9fe76cc779924b5d323c7886c1fbef52897c31905 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740f0000000000000000eab0c70000000f37eae1f509931a69bb28a6b4b2e66891546aead4599e740442e0cbff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 17 20b63a109cd71239c73c64e9fe76cc779924b5d323c7886c1fbef52897c31905110000001000000001000000119e91bbbc4f61c7f36ea63b95ef5844bb7aa569020cfa6536645623c5010164640000000000000000000000000000000001010000010000000000eab0c70a62ff88178636682e3b5e35acabcb68f7ceb5b77af00dd92f4e8f7cac41103b18000000000000001800000000000000010000000000eab0c7170000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740f0000000000000000eab0c70000000f37eae1f509931a69bb28a6b4b2e66891546aead4599e740442e0cbff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000020b63a109cd71239c73c64e9fe76cc779924b5d323c7886c1fbef52897c31905110000001000000001000000119e91bbbc4f61c7f36ea63b95ef5844bb7aa569020cfa6536645623c500000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":16,"value_ex":346407312,"consumed":347},"average_block_cpu_usage":{"last_ordinal":16,"value_ex":132646430,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1064423,"virtual_cpu_limit":203018} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":17,"value_ex":343520584,"consumed":344},"average_block_cpu_usage":{"last_ordinal":17,"value_ex":132374377,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1065488,"virtual_cpu_limit":203221} -DMLOG ACCEPTED_BLOCK_V2 000000119e91bbbc4f61c7f36ea63b95ef5844bb7aa569020cfa6536645623c5 17 1 100000000000000000eab0c70000001023d308725155ce0388f8f3dc2b295e2cdef179296896b822976b24f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f53b22a186ad3e81bbfbdd7a871e08ed3098ee1348d1fdf9c9fb2b7d0b10f0b3c1218055e32fa7edb0d65c87b444d59b9fe9fc87733114e9b8f6482289a2e4c7b000000 0100000000000000010000002832bc8b8ef9d81366e30e39f4ceb817c6fa4e8f1545343e56ed81aeff51c73470d3b649611146aaaa82e6ca78f743d31fc695cbcf5b7516616b7e5eed3796b101000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000088873ea23cb2731e223e65440a712c4497ea6f14f39db0d7b67a82e66d336f250001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":16,"value_ex":266758,"consumed":1},"cpu_usage":{"last_ordinal":16,"value_ex":101849,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock f2e85272c3db6d510cbfac7f218d1d62003f452f71ea92484c4b21f8743c3ddd 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740f0000000000000000eab0c70000000f9277a1feb98543d3f063c2e97956e57738dd7caa784de20b295136c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 17 f2e85272c3db6d510cbfac7f218d1d62003f452f71ea92484c4b21f8743c3ddd11000000100000000100000011a76cba1ec3063e371a6371d9b6afe388454a85b567f15c4a5abfe03c010164640000000000000000000000000000000001010000010000000000eab0c79d7077f2e571dc87cf091cc243eedaad40408b81dd0548783813a5fa93bff04818000000000000001800000000000000010000000000eab0c7170000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232740f0000000000000000eab0c70000000f9277a1feb98543d3f063c2e97956e57738dd7caa784de20b295136c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000f2e85272c3db6d510cbfac7f218d1d62003f452f71ea92484c4b21f8743c3ddd11000000100000000100000011a76cba1ec3063e371a6371d9b6afe388454a85b567f15c4a5abfe03c00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":16,"value_ex":344733060,"consumed":345},"average_block_cpu_usage":{"last_ordinal":16,"value_ex":132646430,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1064423,"virtual_cpu_limit":203018} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":17,"value_ex":341860284,"consumed":342},"average_block_cpu_usage":{"last_ordinal":17,"value_ex":132374377,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1065488,"virtual_cpu_limit":203221} +DMLOG ACCEPTED_BLOCK_V2 00000011a76cba1ec3063e371a6371d9b6afe388454a85b567f15c4a5abfe03c 17 1 100000000000000000eab0c700000010f0bb7d9bd86744350f59b25c5e8cddcc262d9f03175ce50a89cc7b1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001fe12575d8efab58a57054be0d8ccc4c691b30d6fba4e47f5b7a80436036382ead5ebde7c9b033a84ec690adff7e3285cb97cabee88a9a0877c8d32b8426c00eb3000000 01000000000000000100000023df0026f48f2926c1ce4bed6df1c8f63a2a21283af03d935a212a562ff50927dea0c7af54e3db438ae072acb483c619d1229ffa4167dd9b11c3626b63cde72a01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000b3c4fd9e6bc1a7420c23356bd2e060064d96b483d3a13ea36d7cda053a0409980001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 18 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":17,"value_ex":268051,"consumed":1},"cpu_usage":{"last_ordinal":17,"value_ex":102427,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock c88987db2f2350a2b9d73090b6328dd775f4aafb1142b1e2ce66e3a8ca1917f8 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274100000000000000000eab0c70000001023d308725155ce0388f8f3dc2b295e2cdef179296896b822976b24f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 18 c88987db2f2350a2b9d73090b6328dd775f4aafb1142b1e2ce66e3a8ca1917f812000000110000000100000012d8ef97d1a4f80689c09f760ef43112bb1f5988d547e32f7049dfd956010164640000000000000000000000000000000001010000010000000000eab0c7d3194ce268122b7a3cade52199ca350f1b3872caaabf4a32e36e18a543efd36c19000000000000001900000000000000010000000000eab0c7180000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274100000000000000000eab0c70000001023d308725155ce0388f8f3dc2b295e2cdef179296896b822976b24f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000c88987db2f2350a2b9d73090b6328dd775f4aafb1142b1e2ce66e3a8ca1917f812000000110000000100000012d8ef97d1a4f80689c09f760ef43112bb1f5988d547e32f7049dfd95600000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":17,"value_ex":343520584,"consumed":344},"average_block_cpu_usage":{"last_ordinal":17,"value_ex":132374377,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1065488,"virtual_cpu_limit":203221} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":18,"value_ex":340657912,"consumed":341},"average_block_cpu_usage":{"last_ordinal":18,"value_ex":132104591,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1066554,"virtual_cpu_limit":203424} -DMLOG ACCEPTED_BLOCK_V2 00000012d8ef97d1a4f80689c09f760ef43112bb1f5988d547e32f7049dfd956 18 1 110000000000000000eab0c7000000119e91bbbc4f61c7f36ea63b95ef5844bb7aa569020cfa6536645623c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f7204ac5e22a29726bb90b4e866f31491b97b6be42a23b9b38cdc7409f9aec43070ae562e420c473a647b1d117c0b5190f6f01852941c45205682a9a606e563b6000000 0100000000000000010000004b36874cc1f3af143ddcdad4e30b3ea3e1f15ebacbf8ff0664d4a9bd9d617d66672fcd9fd499f954b2aec35881a89c64184bea3129a151b2f6e9d78448a6277f01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000453cf585089ac072151544170135c341d64a80746716dee27788498de67759cd0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":17,"value_ex":266756,"consumed":1},"cpu_usage":{"last_ordinal":17,"value_ex":102427,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 53572fc057b846bd414b0f6a5d27b4b5862f1304f6c4507565398b66f15840e4 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274100000000000000000eab0c700000010f0bb7d9bd86744350f59b25c5e8cddcc262d9f03175ce50a89cc7b12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 18 53572fc057b846bd414b0f6a5d27b4b5862f1304f6c4507565398b66f15840e4120000001100000001000000124ff87c1919e38a09ce275bb1c7cbe7aab0ea5140618e62cefd9795c1010164640000000000000000000000000000000001010000010000000000eab0c7a8cd61082c148023882d21dd104b46e4bca717483d549c38faad4cce8427144719000000000000001900000000000000010000000000eab0c7180000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274100000000000000000eab0c700000010f0bb7d9bd86744350f59b25c5e8cddcc262d9f03175ce50a89cc7b1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000164000053572fc057b846bd414b0f6a5d27b4b5862f1304f6c4507565398b66f15840e4120000001100000001000000124ff87c1919e38a09ce275bb1c7cbe7aab0ea5140618e62cefd9795c100000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":17,"value_ex":341860284,"consumed":342},"average_block_cpu_usage":{"last_ordinal":17,"value_ex":132374377,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1065488,"virtual_cpu_limit":203221} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":18,"value_ex":339011448,"consumed":340},"average_block_cpu_usage":{"last_ordinal":18,"value_ex":132104591,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1066554,"virtual_cpu_limit":203424} +DMLOG ACCEPTED_BLOCK_V2 000000124ff87c1919e38a09ce275bb1c7cbe7aab0ea5140618e62cefd9795c1 18 1 110000000000000000eab0c700000011a76cba1ec3063e371a6371d9b6afe388454a85b567f15c4a5abfe03c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002031b769b341ae2336903d8b2e610065e71c71bdc2601bf76b26eb7f9055aa5c002865c9d312202e77cf9876fbb0276ccdbda84e106594c86ab7ccaacb1f6e756f000000 01000000000000000100000021c523cd3c3d0a8b7f94bdb4ed33ec4614030edd2b097d38ffdcfe4019757bf61e78e359e0b0a5cd0a6345dff08c0ce2e8bf8f72f2ca74f423226c89ecfd6cbd01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000005a2fe8b6c456c96340c51139d9e11dd890915f4a28dfecacbf6034ae6b020fd00001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 19 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":18,"value_ex":268049,"consumed":1},"cpu_usage":{"last_ordinal":18,"value_ex":103005,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 7477bfdb5ce353bd87902d9ba8dbc74205f4ee1515adf70fcd2b488490f6084d 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274110000000000000000eab0c7000000119e91bbbc4f61c7f36ea63b95ef5844bb7aa569020cfa6536645623c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 19 7477bfdb5ce353bd87902d9ba8dbc74205f4ee1515adf70fcd2b488490f6084d1300000012000000010000001326a080c6ce2571b2d528d1a820a2e80ec1ed5f67521e9bf12e865a0c010164640000000000000000000000000000000001010000010000000000eab0c7bc93d7681ae12b84c56b03e3bf1fb073b6ee6b7048431a4a6fd010ff213fa9cf1a000000000000001a00000000000000010000000000eab0c7190000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274110000000000000000eab0c7000000119e91bbbc4f61c7f36ea63b95ef5844bb7aa569020cfa6536645623c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400007477bfdb5ce353bd87902d9ba8dbc74205f4ee1515adf70fcd2b488490f6084d1300000012000000010000001326a080c6ce2571b2d528d1a820a2e80ec1ed5f67521e9bf12e865a0c00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":18,"value_ex":340657912,"consumed":341},"average_block_cpu_usage":{"last_ordinal":18,"value_ex":132104591,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1066554,"virtual_cpu_limit":203424} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":19,"value_ex":337819096,"consumed":338},"average_block_cpu_usage":{"last_ordinal":19,"value_ex":131837053,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1067621,"virtual_cpu_limit":203627} -DMLOG ACCEPTED_BLOCK_V2 0000001326a080c6ce2571b2d528d1a820a2e80ec1ed5f67521e9bf12e865a0c 19 1 120000000000000000eab0c700000012d8ef97d1a4f80689c09f760ef43112bb1f5988d547e32f7049dfd95600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002013d500b0ced183d8544753fb03d0081ec0816d5d1c3c90e10ff2b7f6ed58d31a49569fdbb78dc60b64afb6908859945c3a7f5f655ef9e7fb920991a162cff804000000 010000000000000001000000c21280022c59688e8774a75e808dc341a0fcd4f24b1d3d311845e9adf11520389c345d3e3924f1ab7fb84058977535746de86a42ad27c608d4e6e5b118ea812301000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000b72f4bd4d0ff84fb568ac3f52a0d233d05dd684e0347327cb4818a7bbdc80e420001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":18,"value_ex":266754,"consumed":1},"cpu_usage":{"last_ordinal":18,"value_ex":103005,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 3d71170b62c34536423a618d64fb4610d890c8f09730bb27685c186e7c008d1c 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274110000000000000000eab0c700000011a76cba1ec3063e371a6371d9b6afe388454a85b567f15c4a5abfe03c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 19 3d71170b62c34536423a618d64fb4610d890c8f09730bb27685c186e7c008d1c13000000120000000100000013f9187d7bb8a5e33e579ec6f08aa992abc2800cb6fbb20d7fd6a91a6e010164640000000000000000000000000000000001010000010000000000eab0c789620f2cbbae0b567c06c88187bba442f98d1040197e4ece0d387e84c92931261a000000000000001a00000000000000010000000000eab0c7190000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274110000000000000000eab0c700000011a76cba1ec3063e371a6371d9b6afe388454a85b567f15c4a5abfe03c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400003d71170b62c34536423a618d64fb4610d890c8f09730bb27685c186e7c008d1c13000000120000000100000013f9187d7bb8a5e33e579ec6f08aa992abc2800cb6fbb20d7fd6a91a6e00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":18,"value_ex":339011448,"consumed":340},"average_block_cpu_usage":{"last_ordinal":18,"value_ex":132104591,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1066554,"virtual_cpu_limit":203424} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":19,"value_ex":336186352,"consumed":337},"average_block_cpu_usage":{"last_ordinal":19,"value_ex":131837053,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1067621,"virtual_cpu_limit":203627} +DMLOG ACCEPTED_BLOCK_V2 00000013f9187d7bb8a5e33e579ec6f08aa992abc2800cb6fbb20d7fd6a91a6e 19 1 120000000000000000eab0c7000000124ff87c1919e38a09ce275bb1c7cbe7aab0ea5140618e62cefd9795c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f70ed3b4ef021a357d5251632170770c1607a2a8cb45ed5fc4248594bd0a45829156426593516160bf79429bc225a72618e2d2f5aaf9e5adc3edd1e0ca125c845000000 0100000000000000010000002319be47909d4aa958c80c61b5f2f108c18c383012f892614caf41652c47f913fcb23b3d8e55cbdb692c13970caec613f051f0e7e2ff933efec34b6374a4051a01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000df1ca331de76b182243dea06a44d537924a9ddf614bc8a133a91dcf64ffccd3d0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 20 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":19,"value_ex":268047,"consumed":1},"cpu_usage":{"last_ordinal":19,"value_ex":103583,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 510e09cde559954ced4310594c9147270edd751f4e9b62b7369ea13f8876eb41 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274120000000000000000eab0c700000012d8ef97d1a4f80689c09f760ef43112bb1f5988d547e32f7049dfd956000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 20 510e09cde559954ced4310594c9147270edd751f4e9b62b7369ea13f8876eb4114000000130000000100000014314a7b6b5d0dae61c0cd836d7f0e5de3bddd6c07c8b66fc04c9c4250010164640000000000000000000000000000000001010000010000000000eab0c77ecc27ad6e733d453788c425a9a8a429ed0331a04fcf7787cda8e928ce40420e1b000000000000001b00000000000000010000000000eab0c71a0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274120000000000000000eab0c700000012d8ef97d1a4f80689c09f760ef43112bb1f5988d547e32f7049dfd95600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000510e09cde559954ced4310594c9147270edd751f4e9b62b7369ea13f8876eb4114000000130000000100000014314a7b6b5d0dae61c0cd836d7f0e5de3bddd6c07c8b66fc04c9c425000000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":19,"value_ex":337819096,"consumed":338},"average_block_cpu_usage":{"last_ordinal":19,"value_ex":131837053,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1067621,"virtual_cpu_limit":203627} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":20,"value_ex":335003936,"consumed":336},"average_block_cpu_usage":{"last_ordinal":20,"value_ex":131571744,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1068689,"virtual_cpu_limit":203830} -DMLOG ACCEPTED_BLOCK_V2 00000014314a7b6b5d0dae61c0cd836d7f0e5de3bddd6c07c8b66fc04c9c4250 20 1 130000000000000000eab0c70000001326a080c6ce2571b2d528d1a820a2e80ec1ed5f67521e9bf12e865a0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020152571b490df215271090689c8c01dffdb44b4b60ab08d62668a086a66f2259a39d6b89c5ad9b93327ff844d34ee2add61e3a83cd29cc857a30181605c01deb2000000 010000000000000001000000d20875c83cd1033373e8dcde50baa0eb324fe72a641fc5f01c4806c6fb7903cd31f7d998422605cf31aa399f75d4dc310f357b4c4f0f09b579245b2de2f904fb01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000c21c85022f149f4dc03055d3f84ca05f64144f5ef74a7f4610f7e1d211eb5e8f0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":19,"value_ex":266752,"consumed":1},"cpu_usage":{"last_ordinal":19,"value_ex":103583,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 3a323e7dc4167dfb9561ba03efda54effc306407958e033d9bc637a6ed522708 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274120000000000000000eab0c7000000124ff87c1919e38a09ce275bb1c7cbe7aab0ea5140618e62cefd9795c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 20 3a323e7dc4167dfb9561ba03efda54effc306407958e033d9bc637a6ed522708140000001300000001000000144f38bf9ffd3d801683b96b5efea9c46cafc1b283c12a8536285f03d9010164640000000000000000000000000000000001010000010000000000eab0c78a43d98880b5577876d8b9457c7f4c30171c895e06c164694b85c8122983f7531b000000000000001b00000000000000010000000000eab0c71a0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274120000000000000000eab0c7000000124ff87c1919e38a09ce275bb1c7cbe7aab0ea5140618e62cefd9795c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400003a323e7dc4167dfb9561ba03efda54effc306407958e033d9bc637a6ed522708140000001300000001000000144f38bf9ffd3d801683b96b5efea9c46cafc1b283c12a8536285f03d900000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":19,"value_ex":336186352,"consumed":337},"average_block_cpu_usage":{"last_ordinal":19,"value_ex":131837053,"consumed":232},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1067621,"virtual_cpu_limit":203627} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":20,"value_ex":333384799,"consumed":334},"average_block_cpu_usage":{"last_ordinal":20,"value_ex":131571744,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1068689,"virtual_cpu_limit":203830} +DMLOG ACCEPTED_BLOCK_V2 000000144f38bf9ffd3d801683b96b5efea9c46cafc1b283c12a8536285f03d9 20 1 130000000000000000eab0c700000013f9187d7bb8a5e33e579ec6f08aa992abc2800cb6fbb20d7fd6a91a6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f4d6f049ffa66a8245a35145ed7305067f70af43c3f837f988b0bcec533e3de3e440d707ff8243408fff4dbc24bf691e75ba4da20e1aea6f6565ce9b262dc4848000000 010000000000000001000000c6edcf50310bfd2a9a0ad19bb89902168b0744f76ad18f6225d39ff86a3be4773e4af4913d89f73f26bb59c45463bf859dbf7092a4bbb85e95f1ba364d4a0b2601000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000668862c14f9abd018b7d5e730e7a4787cfa977494c2ba8164ecaddd1ffcc86700001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 21 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":20,"value_ex":268045,"consumed":1},"cpu_usage":{"last_ordinal":20,"value_ex":104161,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 3b695cf26fb97487356e238e82db5d66a152c592c9e8b578b16dbd9218fdb2ca 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274130000000000000000eab0c70000001326a080c6ce2571b2d528d1a820a2e80ec1ed5f67521e9bf12e865a0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 21 3b695cf26fb97487356e238e82db5d66a152c592c9e8b578b16dbd9218fdb2ca1500000014000000010000001584ca6a7cc0c98f7e954034f9b2e0bebc600ab80b919e5ebd7061f1b6010164640000000000000000000000000000000001010000010000000000eab0c7f9d4e10bc41e605f5d4f9962a2a7c616eb652e2735a8633b62a109881cefdf351c000000000000001c00000000000000010000000000eab0c71b0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274130000000000000000eab0c70000001326a080c6ce2571b2d528d1a820a2e80ec1ed5f67521e9bf12e865a0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400003b695cf26fb97487356e238e82db5d66a152c592c9e8b578b16dbd9218fdb2ca1500000014000000010000001584ca6a7cc0c98f7e954034f9b2e0bebc600ab80b919e5ebd7061f1b600000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":20,"value_ex":335003936,"consumed":336},"average_block_cpu_usage":{"last_ordinal":20,"value_ex":131571744,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1068689,"virtual_cpu_limit":203830} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":21,"value_ex":332212236,"consumed":333},"average_block_cpu_usage":{"last_ordinal":21,"value_ex":131308646,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1069758,"virtual_cpu_limit":204034} -DMLOG ACCEPTED_BLOCK_V2 0000001584ca6a7cc0c98f7e954034f9b2e0bebc600ab80b919e5ebd7061f1b6 21 1 140000000000000000eab0c700000014314a7b6b5d0dae61c0cd836d7f0e5de3bddd6c07c8b66fc04c9c425000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f51e209558b994bdb8706c8fd9b3b76e7c57e7810408f4761d0234e2b87613d297c143c84bca559686f2abdb0f2d1ef7b1d314b239c96256fdfabb72dfa154646000000 010000000000000001000000b63389134e331acf5e858232a20c1e6f5dfca3bfda10b418d8805440f5da9e0fbc8e79f9c4ce8f797c9042111c3b8396776df3122fd676d85ffacf322a37919601000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000fee9c60c49c0ada6eb455fba8ec0aee0315f1dced7610db81aec84f7b68485e80001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":20,"value_ex":266750,"consumed":1},"cpu_usage":{"last_ordinal":20,"value_ex":104161,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 6914fff65c1a16301a77cd6f5dab78ff8808d6947abe3262ad0a558a0767e091 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274130000000000000000eab0c700000013f9187d7bb8a5e33e579ec6f08aa992abc2800cb6fbb20d7fd6a91a6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 21 6914fff65c1a16301a77cd6f5dab78ff8808d6947abe3262ad0a558a0767e09115000000140000000100000015e3d5660aa76dc154aaa8973629c0f005ca060e23669c1d49b89decb5010164640000000000000000000000000000000001010000010000000000eab0c7e32d2f1dce119ccea16ce9e1272c4a41f62835ff7f485d6e146d8823a1f16eb71c000000000000001c00000000000000010000000000eab0c71b0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274130000000000000000eab0c700000013f9187d7bb8a5e33e579ec6f08aa992abc2800cb6fbb20d7fd6a91a6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400006914fff65c1a16301a77cd6f5dab78ff8808d6947abe3262ad0a558a0767e09115000000140000000100000015e3d5660aa76dc154aaa8973629c0f005ca060e23669c1d49b89decb500000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":20,"value_ex":333384799,"consumed":334},"average_block_cpu_usage":{"last_ordinal":20,"value_ex":131571744,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1068689,"virtual_cpu_limit":203830} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":21,"value_ex":330606592,"consumed":331},"average_block_cpu_usage":{"last_ordinal":21,"value_ex":131308646,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1069758,"virtual_cpu_limit":204034} +DMLOG ACCEPTED_BLOCK_V2 00000015e3d5660aa76dc154aaa8973629c0f005ca060e23669c1d49b89decb5 21 1 140000000000000000eab0c7000000144f38bf9ffd3d801683b96b5efea9c46cafc1b283c12a8536285f03d900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f3ad99fe92a1af94f2243ea185f7febba038cf5ace0f985b4ed8b014e5bd373cf4b1b8a4f3395199453ba32facf194764c51f08cca4f9817b1be6497ffe5dcfaf000000 010000000000000001000000f8724e2d9899b42fdafb0eb4a5115c8442b8489e7f318f842d13a7fb081a97ec2e6adcf255ecfb14b4a76e5ab320c7e9ad2421da3a964e215e3d55ce7e9f5d0501000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000fe8a6c3195e3199783aa8eeef33a8924085c28731c8caed86c0e9f936007d7b60001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 22 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":21,"value_ex":268043,"consumed":1},"cpu_usage":{"last_ordinal":21,"value_ex":104739,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 294ff5673c15556be9bfd92e8b67ae65a64b7ffc916753eb22aa41dded927587 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274140000000000000000eab0c700000014314a7b6b5d0dae61c0cd836d7f0e5de3bddd6c07c8b66fc04c9c4250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 22 294ff5673c15556be9bfd92e8b67ae65a64b7ffc916753eb22aa41dded92758716000000150000000100000016aed2d134b8fb71e267c7204c3c0648ebc52de976fe69ee88074dd890010164640000000000000000000000000000000001010000010000000000eab0c7024603ebdf28f16d9a7133d8abcfb28f3ea6193836da6cb31566d002e3ce211a1d000000000000001d00000000000000010000000000eab0c71c0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274140000000000000000eab0c700000014314a7b6b5d0dae61c0cd836d7f0e5de3bddd6c07c8b66fc04c9c425000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000294ff5673c15556be9bfd92e8b67ae65a64b7ffc916753eb22aa41dded92758716000000150000000100000016aed2d134b8fb71e267c7204c3c0648ebc52de976fe69ee88074dd89000000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":21,"value_ex":332212236,"consumed":333},"average_block_cpu_usage":{"last_ordinal":21,"value_ex":131308646,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1069758,"virtual_cpu_limit":204034} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":22,"value_ex":329443800,"consumed":330},"average_block_cpu_usage":{"last_ordinal":22,"value_ex":131047741,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1070828,"virtual_cpu_limit":204238} -DMLOG ACCEPTED_BLOCK_V2 00000016aed2d134b8fb71e267c7204c3c0648ebc52de976fe69ee88074dd890 22 1 150000000000000000eab0c70000001584ca6a7cc0c98f7e954034f9b2e0bebc600ab80b919e5ebd7061f1b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020649208533a57861b55a75a61f131d21c29c4af9bd5ff5d75a8957737115c7ff202a90bf2e76c39cb179816961bd1dfbcd9c3a78f2eb3b02b8ac09937a4fa36a0000000 010000000000000001000000f15fe095f9e860c898b13328fd12b12b89f5e9c253e6f6022db39237af368d140fc001912581af3226f1ee8dee6ab1b80a6d1e2ba6f0099a871f94798e30c72401000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000003b631988c8775d6d7953c4c7cd02c857679955e6bc744bc059dd2421ccf182320001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":21,"value_ex":266748,"consumed":1},"cpu_usage":{"last_ordinal":21,"value_ex":104739,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock b303d5259abe11f992d2e4db21f10faad5d92c6602b0848b844a4e52655fb66c 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274140000000000000000eab0c7000000144f38bf9ffd3d801683b96b5efea9c46cafc1b283c12a8536285f03d9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 22 b303d5259abe11f992d2e4db21f10faad5d92c6602b0848b844a4e52655fb66c160000001500000001000000161ece0987031e892c1fcb127d3ac21431e5b4749831c049cca08e2568010164640000000000000000000000000000000001010000010000000000eab0c7364f2348d5d317da1cfb44b76f0e60927cadc3b3bad6f1c2edd94fa619229d8c1d000000000000001d00000000000000010000000000eab0c71c0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274140000000000000000eab0c7000000144f38bf9ffd3d801683b96b5efea9c46cafc1b283c12a8536285f03d9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000b303d5259abe11f992d2e4db21f10faad5d92c6602b0848b844a4e52655fb66c160000001500000001000000161ece0987031e892c1fcb127d3ac21431e5b4749831c049cca08e256800000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":21,"value_ex":330606592,"consumed":331},"average_block_cpu_usage":{"last_ordinal":21,"value_ex":131308646,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1069758,"virtual_cpu_limit":204034} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":22,"value_ex":327851537,"consumed":328},"average_block_cpu_usage":{"last_ordinal":22,"value_ex":131047741,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1070828,"virtual_cpu_limit":204238} +DMLOG ACCEPTED_BLOCK_V2 000000161ece0987031e892c1fcb127d3ac21431e5b4749831c049cca08e2568 22 1 150000000000000000eab0c700000015e3d5660aa76dc154aaa8973629c0f005ca060e23669c1d49b89decb5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020724947200f8c50090418e0146588f440eea052b2e6d63b126f89aa4b4d30893b3ec0d32730cbef344e7b8b6407f44eee016c861e79165ee45665c7e0eda24977000000 0100000000000000010000004aefb9f6cc63b598b153354a55b0809366639a96ef8a2b0ada1da676813e7675fd523ef7f4126d1d48c722b0fec688356713e731db3fcd087df36b5b43fcfdb101000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000000c2890f6cd0907e46a1a24a1b4c763bfdb6a7684f68c9984edf2474e103bd18d0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 23 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":22,"value_ex":268041,"consumed":1},"cpu_usage":{"last_ordinal":22,"value_ex":105317,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 8244e67df533a76b8c06c257d842c0c8a475e83a75cfb60a03f8b187b6093f6f 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274150000000000000000eab0c70000001584ca6a7cc0c98f7e954034f9b2e0bebc600ab80b919e5ebd7061f1b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 23 8244e67df533a76b8c06c257d842c0c8a475e83a75cfb60a03f8b187b6093f6f17000000160000000100000017ec8614bb2d9e4ba27da12312cd94d9225ae0017ce7de640ca42f5892010164640000000000000000000000000000000001010000010000000000eab0c74b72c81bd056d7e4c21e02ce8cf2848c1b75b7f8e8e6a5d368c2f981c4278bce1e000000000000001e00000000000000010000000000eab0c71d0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274150000000000000000eab0c70000001584ca6a7cc0c98f7e954034f9b2e0bebc600ab80b919e5ebd7061f1b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400008244e67df533a76b8c06c257d842c0c8a475e83a75cfb60a03f8b187b6093f6f17000000160000000100000017ec8614bb2d9e4ba27da12312cd94d9225ae0017ce7de640ca42f589200000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":22,"value_ex":329443800,"consumed":330},"average_block_cpu_usage":{"last_ordinal":22,"value_ex":131047741,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1070828,"virtual_cpu_limit":204238} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":23,"value_ex":326698435,"consumed":327},"average_block_cpu_usage":{"last_ordinal":23,"value_ex":130789010,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1071899,"virtual_cpu_limit":204442} -DMLOG ACCEPTED_BLOCK_V2 00000017ec8614bb2d9e4ba27da12312cd94d9225ae0017ce7de640ca42f5892 23 1 160000000000000000eab0c700000016aed2d134b8fb71e267c7204c3c0648ebc52de976fe69ee88074dd89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f98b0e9fd4de2fefcbdf7b12092b18b3da6ddb87e56685d055985f9c586568fd90271e06342434cc7caf3e792c74271dcf7d7b10c7a39f730f75c86305fb5149f000000 010000000000000001000000ccec54bb96423f8efe9e66c095101658d8a3cab1154c046d5dd28ea7bb954b1f3b1c4b02ede29e52cfdf9486256ca6141086a6bfb167a46ffb91517e6197db7201000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000000d0679229be1d83598354e2c6f65d5b17ba208f8199bd34bf1e843118df7a1140001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":22,"value_ex":266746,"consumed":1},"cpu_usage":{"last_ordinal":22,"value_ex":105317,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 0efa7d2f1e472a5507f0e931b30cd6f1bace1c6829bfa7ec606b073e28a8a5d7 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274150000000000000000eab0c700000015e3d5660aa76dc154aaa8973629c0f005ca060e23669c1d49b89decb5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 23 0efa7d2f1e472a5507f0e931b30cd6f1bace1c6829bfa7ec606b073e28a8a5d717000000160000000100000017b05d9dc6a1428b5b6e609a0b8467625956372c70e930cf9f050ec340010164640000000000000000000000000000000001010000010000000000eab0c79d39ba6e2a3cdab777e1e99d569593fc1b5fa6da06ed6dc8e16b2ae311a583e51e000000000000001e00000000000000010000000000eab0c71d0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274150000000000000000eab0c700000015e3d5660aa76dc154aaa8973629c0f005ca060e23669c1d49b89decb50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400000efa7d2f1e472a5507f0e931b30cd6f1bace1c6829bfa7ec606b073e28a8a5d717000000160000000100000017b05d9dc6a1428b5b6e609a0b8467625956372c70e930cf9f050ec34000000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":22,"value_ex":327851537,"consumed":328},"average_block_cpu_usage":{"last_ordinal":22,"value_ex":131047741,"consumed":231},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1070828,"virtual_cpu_limit":204238} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":23,"value_ex":325119440,"consumed":326},"average_block_cpu_usage":{"last_ordinal":23,"value_ex":130789010,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1071899,"virtual_cpu_limit":204442} +DMLOG ACCEPTED_BLOCK_V2 00000017b05d9dc6a1428b5b6e609a0b8467625956372c70e930cf9f050ec340 23 1 160000000000000000eab0c7000000161ece0987031e892c1fcb127d3ac21431e5b4749831c049cca08e25680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100203fa1d667e861a289c334e8a12463b6c0aaa15e8afce8b7152cdf9d6ebefdc8964a3221ce81c35166f336378e9ff96c3066316fc1343d9e03f7f52c4ce598dddd000000 0100000000000000010000007b6c54c4b0fc4d1cbeaa5fa8f4b3f92b464fd860fdd7dc54d898abd36d151b3cee715bed420e19b8c40bc3fede6120d97e06db9735f453453188954464e50cae01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000000df5a957988e2a80bca6244bce688877b2bcdd3742b7b13415bfc9a9c3c2f0c20001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 24 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":23,"value_ex":268039,"consumed":1},"cpu_usage":{"last_ordinal":23,"value_ex":105895,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 0a2a7f101ce9a6806108d98002d4e26b88dcbece0411ebcc744fe17977c92d6b 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274160000000000000000eab0c700000016aed2d134b8fb71e267c7204c3c0648ebc52de976fe69ee88074dd890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 24 0a2a7f101ce9a6806108d98002d4e26b88dcbece0411ebcc744fe17977c92d6b18000000170000000100000018e03b3caf652846cefe42a83d52cc22053c94033c61ed38c16e05f827010164640000000000000000000000000000000001010000010000000000eab0c77e6713e72abcd3e2edb2f48a2a01f0a6802d1520bd769f0444021ddcf490fb6f1f000000000000001f00000000000000010000000000eab0c71e0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274160000000000000000eab0c700000016aed2d134b8fb71e267c7204c3c0648ebc52de976fe69ee88074dd890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000016400000a2a7f101ce9a6806108d98002d4e26b88dcbece0411ebcc744fe17977c92d6b18000000170000000100000018e03b3caf652846cefe42a83d52cc22053c94033c61ed38c16e05f82700000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":23,"value_ex":326698435,"consumed":327},"average_block_cpu_usage":{"last_ordinal":23,"value_ex":130789010,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1071899,"virtual_cpu_limit":204442} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":24,"value_ex":323975948,"consumed":324},"average_block_cpu_usage":{"last_ordinal":24,"value_ex":130532435,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1072971,"virtual_cpu_limit":204646} -DMLOG ACCEPTED_BLOCK_V2 00000018e03b3caf652846cefe42a83d52cc22053c94033c61ed38c16e05f827 24 1 170000000000000000eab0c700000017ec8614bb2d9e4ba27da12312cd94d9225ae0017ce7de640ca42f5892000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010020c83f304a22fc6acb16d6f600066bdb374a396ea890da45e79eb102299e745d365c2c36e2da8edac10ac5b0f8c7b9c1327b4edc48e95e01e7b3281a931650df96000000 0100000000000000010000007ebe9eabdafa74cff3cd06fa3cbfb4e1307435e6193b780f9c9a7a08aafc7859a0b8bcff566005eb41b1ff54d8d59e9b5988e23dfa83282b572dbb864435ddec01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000288a2ac451784f2f038258b979175dd88cccb6d91a91442e8592d7f254ab9f130001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":23,"value_ex":266744,"consumed":1},"cpu_usage":{"last_ordinal":23,"value_ex":105895,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 5c8e9da0ad5b410dc05166bf98de01112f57b1eb818d04913988dd74522f7f60 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274160000000000000000eab0c7000000161ece0987031e892c1fcb127d3ac21431e5b4749831c049cca08e2568000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 24 5c8e9da0ad5b410dc05166bf98de01112f57b1eb818d04913988dd74522f7f601800000017000000010000001827073755b38ff76ac17bd6df6f845e4a544bdf651bb5c3df53c4e04c010164640000000000000000000000000000000001010000010000000000eab0c73aa482e1634ff4d203c5c2c7a59c6ab94c15b4e84ab5f5ef8bb0cb2b1f9d52371f000000000000001f00000000000000010000000000eab0c71e0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274160000000000000000eab0c7000000161ece0987031e892c1fcb127d3ac21431e5b4749831c049cca08e25680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400005c8e9da0ad5b410dc05166bf98de01112f57b1eb818d04913988dd74522f7f601800000017000000010000001827073755b38ff76ac17bd6df6f845e4a544bdf651bb5c3df53c4e04c00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":23,"value_ex":325119440,"consumed":326},"average_block_cpu_usage":{"last_ordinal":23,"value_ex":130789010,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1071899,"virtual_cpu_limit":204442} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":24,"value_ex":322410111,"consumed":323},"average_block_cpu_usage":{"last_ordinal":24,"value_ex":130532435,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1072971,"virtual_cpu_limit":204646} +DMLOG ACCEPTED_BLOCK_V2 0000001827073755b38ff76ac17bd6df6f845e4a544bdf651bb5c3df53c4e04c 24 1 170000000000000000eab0c700000017b05d9dc6a1428b5b6e609a0b8467625956372c70e930cf9f050ec34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f78505577135aa3771268b5c4626995635b825a3ea9748e30ce1ed9db6d4d4192655d9c8c90eba81b492972c7cc5f1aa05a14b2082eae505def5c8aaf4259f5ba000000 0100000000000000010000004a321d8ea9b50112c03ec74a97e0669ebe5f3b28c5d5d70470c4f24018cc4fbe6bc79212e904b7100478ef46f22c027a78f24fa580f02768e433451cf52704d501000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000f8d9dfd48586b9e2207637f904fd22a872be1112f77f09fd6c339ab42bbb91910001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 25 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":24,"value_ex":268037,"consumed":1},"cpu_usage":{"last_ordinal":24,"value_ex":106473,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock ad3efc7a1cd11b068c427b124cb625c791722ef8348119300e8477b4d16b7b85 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274170000000000000000eab0c700000017ec8614bb2d9e4ba27da12312cd94d9225ae0017ce7de640ca42f5892000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 25 ad3efc7a1cd11b068c427b124cb625c791722ef8348119300e8477b4d16b7b8519000000180000000100000019b863db3cf11291b260c14d2c24bb6742e9cefefc28ef7fde90456a6b010164640000000000000000000000000000000001010000010000000000eab0c71240805a3da01706bbbcd5caf38822b3033c1fbb63cb0b6b63e000b66db5100820000000000000002000000000000000010000000000eab0c71f0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274170000000000000000eab0c700000017ec8614bb2d9e4ba27da12312cd94d9225ae0017ce7de640ca42f589200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000ad3efc7a1cd11b068c427b124cb625c791722ef8348119300e8477b4d16b7b8519000000180000000100000019b863db3cf11291b260c14d2c24bb6742e9cefefc28ef7fde90456a6b00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":24,"value_ex":323975948,"consumed":324},"average_block_cpu_usage":{"last_ordinal":24,"value_ex":130532435,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1072971,"virtual_cpu_limit":204646} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":25,"value_ex":321276148,"consumed":322},"average_block_cpu_usage":{"last_ordinal":25,"value_ex":130277998,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1074045,"virtual_cpu_limit":204850} -DMLOG ACCEPTED_BLOCK_V2 00000019b863db3cf11291b260c14d2c24bb6742e9cefefc28ef7fde90456a6b 25 1 180000000000000000eab0c700000018e03b3caf652846cefe42a83d52cc22053c94033c61ed38c16e05f8270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100205e770b25c0b5c059316842022fab376544a549fbe9c6c3dcedffbdaf915845e153a0800fc0bfaea68746cd43f9c09e667f2d603e2959c692d3f9ed7410c98c59000000 010000000000000001000000f4368e8569477391a818535da5fc3891f20242ce2c9a963c6b32846c244e31d02a8f8c1b2dd2af1b035fed0876685842d44d8ccd83446013bf95b1e7b864568f01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000e2c1eeaed457fdb848fdc84ae80ce79f82ad8b526e626b5eb89cf47427f3e6a30001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":24,"value_ex":266742,"consumed":1},"cpu_usage":{"last_ordinal":24,"value_ex":106473,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock aa63e713e1055d8cec4abd96cca3888ec3ffb0a3fd9cde63795e13b58c85c7e6 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274170000000000000000eab0c700000017b05d9dc6a1428b5b6e609a0b8467625956372c70e930cf9f050ec340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 25 aa63e713e1055d8cec4abd96cca3888ec3ffb0a3fd9cde63795e13b58c85c7e61900000018000000010000001944eedf064517c3f7d65a3825ba0646de09b30ed01333d7d1c826abcb010164640000000000000000000000000000000001010000010000000000eab0c7a51729e6b52fea24fa5a5df45c8f507f6e5afe07139fb7e8b7c0d46af53124fb20000000000000002000000000000000010000000000eab0c71f0000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274170000000000000000eab0c700000017b05d9dc6a1428b5b6e609a0b8467625956372c70e930cf9f050ec340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000aa63e713e1055d8cec4abd96cca3888ec3ffb0a3fd9cde63795e13b58c85c7e61900000018000000010000001944eedf064517c3f7d65a3825ba0646de09b30ed01333d7d1c826abcb00000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":24,"value_ex":322410111,"consumed":323},"average_block_cpu_usage":{"last_ordinal":24,"value_ex":130532435,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1072971,"virtual_cpu_limit":204646} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":25,"value_ex":319723360,"consumed":320},"average_block_cpu_usage":{"last_ordinal":25,"value_ex":130277998,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1074045,"virtual_cpu_limit":204850} +DMLOG ACCEPTED_BLOCK_V2 0000001944eedf064517c3f7d65a3825ba0646de09b30ed01333d7d1c826abcb 25 1 180000000000000000eab0c70000001827073755b38ff76ac17bd6df6f845e4a544bdf651bb5c3df53c4e04c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002042df158368ee9d59decaaa1882277cbac4c73a105f8856df4fde98b21ee2950e0a9c7eb10495cd02f218eb53a62b96fa8b8686327771f90db25d3b304e1e8665000000 01000000000000000100000090fc21e3ed008f83c417c760f9e925d2c5f59be2f1f02e1fc6529e8896610bc2786ecb0588b0544c8472d1ef7257d0a899d59b4e2121b05def2c8c5a9a2145cc01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f5980000000061ca6a6cbe4bcb415607d90811ad674d7afee69ebb99acea49606de3b42b16020001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 26 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":25,"value_ex":268035,"consumed":1},"cpu_usage":{"last_ordinal":25,"value_ex":107051,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 21fbf35d31c3c9ae87e5c139a00b2cd1ae5d7fe7553264c0f0f2c0c17e419801 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274180000000000000000eab0c700000018e03b3caf652846cefe42a83d52cc22053c94033c61ed38c16e05f827000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 26 21fbf35d31c3c9ae87e5c139a00b2cd1ae5d7fe7553264c0f0f2c0c17e4198011a00000019000000010000001a119e4cc9e5539d2154d56e32844168a34f7f1214bdcb7ba9e50ea676010164640000000000000000000000000000000001010000010000000000eab0c7ebfbd2abe2a8054e65cdbe0bb0567df0ed4649828325521660cfbd98e4f2a4a921000000000000002100000000000000010000000000eab0c7200000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274180000000000000000eab0c700000018e03b3caf652846cefe42a83d52cc22053c94033c61ed38c16e05f8270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000021fbf35d31c3c9ae87e5c139a00b2cd1ae5d7fe7553264c0f0f2c0c17e4198011a00000019000000010000001a119e4cc9e5539d2154d56e32844168a34f7f1214bdcb7ba9e50ea67600000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":25,"value_ex":321276148,"consumed":322},"average_block_cpu_usage":{"last_ordinal":25,"value_ex":130277998,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1074045,"virtual_cpu_limit":204850} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":26,"value_ex":318598846,"consumed":319},"average_block_cpu_usage":{"last_ordinal":26,"value_ex":130025682,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1075120,"virtual_cpu_limit":205055} -DMLOG ACCEPTED_BLOCK_V2 0000001a119e4cc9e5539d2154d56e32844168a34f7f1214bdcb7ba9e50ea676 26 1 190000000000000000eab0c700000019b863db3cf11291b260c14d2c24bb6742e9cefefc28ef7fde90456a6b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f20a34195356b005633eca2cb39d6611a5bead254c028e064b887c31f3efb99831741cca3498641720a5c9aa22da6ca6b94204d9b961626eacf632015b8cfe42e000000 0100000000000000010000009f395a6aea3001326940f97bae14313ac81fbd6457860f6d787c9c04cd9ac068ba5b62322446720396fc34b8345e5329ca6727fa5c723eaf71cefbb9778504cd01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000e5673a000690f95d893a9af91d612951759a18f2db631f5292f886650526d3fd0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":25,"value_ex":266740,"consumed":1},"cpu_usage":{"last_ordinal":25,"value_ex":107051,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 3e81077cba2abf36e0db91e2bf6a888bd609c6e3848cf35835e390800e98ef29 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274180000000000000000eab0c70000001827073755b38ff76ac17bd6df6f845e4a544bdf651bb5c3df53c4e04c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 26 3e81077cba2abf36e0db91e2bf6a888bd609c6e3848cf35835e390800e98ef291a00000019000000010000001a5903bc4cffbf6f3a643577b6296c8d6567a44c5193e31f8e2c890e96010164640000000000000000000000000000000001010000010000000000eab0c7161b2b3f8b0ad144183cc86094ab7bb03e86c2400001a6ad78da0f03571f53ae21000000000000002100000000000000010000000000eab0c7200000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274180000000000000000eab0c70000001827073755b38ff76ac17bd6df6f845e4a544bdf651bb5c3df53c4e04c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400003e81077cba2abf36e0db91e2bf6a888bd609c6e3848cf35835e390800e98ef291a00000019000000010000001a5903bc4cffbf6f3a643577b6296c8d6567a44c5193e31f8e2c890e9600000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":25,"value_ex":319723360,"consumed":320},"average_block_cpu_usage":{"last_ordinal":25,"value_ex":130277998,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1074045,"virtual_cpu_limit":204850} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":26,"value_ex":317058998,"consumed":318},"average_block_cpu_usage":{"last_ordinal":26,"value_ex":130025682,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1075120,"virtual_cpu_limit":205055} +DMLOG ACCEPTED_BLOCK_V2 0000001a5903bc4cffbf6f3a643577b6296c8d6567a44c5193e31f8e2c890e96 26 1 190000000000000000eab0c70000001944eedf064517c3f7d65a3825ba0646de09b30ed01333d7d1c826abcb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002020bef18efcdad464e77e8afd0dfbd710f69da842048a39188ca42afa4340792620567113161cbdd9315320591ad426f68b920973b7c256e4bae24c5953dc101f000000 010000000000000001000000902845c403131e7b6f9f322b8d1c747a9eca243189ab35b3328cbbbc8b4883a8194618f31e73284503346611a7244abd8a68ed6de8b4fdd014771d2009cd58e501000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000008f728c2de744a9d13eabc7c3dd0161f040dcc6f01decef5cb1e56b9b99f6e8800001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 27 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":26,"value_ex":268033,"consumed":1},"cpu_usage":{"last_ordinal":26,"value_ex":107629,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 81246d119a6eea3b494ffc4181b2ca050004d7f36c7a7779fdc0a19c4251b5c5 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274190000000000000000eab0c700000019b863db3cf11291b260c14d2c24bb6742e9cefefc28ef7fde90456a6b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 27 81246d119a6eea3b494ffc4181b2ca050004d7f36c7a7779fdc0a19c4251b5c51b0000001a000000010000001bf4482a1b6c235878efed3b78c32474c7d2030bdb76bad0e777c1d6ae010164640000000000000000000000000000000001010000010000000000eab0c7053eaee44257fbc248adbd0e7ac2d7a2ec5f955e85e33205a225f4cfbee618b122000000000000002200000000000000010000000000eab0c7210000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274190000000000000000eab0c700000019b863db3cf11291b260c14d2c24bb6742e9cefefc28ef7fde90456a6b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000081246d119a6eea3b494ffc4181b2ca050004d7f36c7a7779fdc0a19c4251b5c51b0000001a000000010000001bf4482a1b6c235878efed3b78c32474c7d2030bdb76bad0e777c1d6ae00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":26,"value_ex":318598846,"consumed":319},"average_block_cpu_usage":{"last_ordinal":26,"value_ex":130025682,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1075120,"virtual_cpu_limit":205055} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":27,"value_ex":315943855,"consumed":316},"average_block_cpu_usage":{"last_ordinal":27,"value_ex":129775468,"consumed":229},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1076196,"virtual_cpu_limit":205260} -DMLOG ACCEPTED_BLOCK_V2 0000001bf4482a1b6c235878efed3b78c32474c7d2030bdb76bad0e777c1d6ae 27 1 1a0000000000000000eab0c70000001a119e4cc9e5539d2154d56e32844168a34f7f1214bdcb7ba9e50ea67600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f271f58cb8fda8ae0eeee0f76b2be49f15d191eb8702708e5b3a48e2c87befdaa270d4080990f9f91aaa287711049d12da8d969cb2acc1b1d3b3922d943a615c4000000 010000000000000001000000a1d2da508280b6ece0c573f33d54b0ae1c3952f74098eaf716fb71cc914424dedde9dc01ab4b7636cc57db4a6beb9ae7a4d4a1292ea461eac3a29852a47dd9f401000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000000d6894a8eb9c08eabed61d05a59cac986f5e297d96b83a338dd690aada8d05d20001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":26,"value_ex":266738,"consumed":1},"cpu_usage":{"last_ordinal":26,"value_ex":107629,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock b6d1fa037b9839b061262ec8107e9dddca422eef89f55c717e58f4f777f1b348 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274190000000000000000eab0c70000001944eedf064517c3f7d65a3825ba0646de09b30ed01333d7d1c826abcb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 27 b6d1fa037b9839b061262ec8107e9dddca422eef89f55c717e58f4f777f1b3481b0000001a000000010000001b9bd3c993cb0b7cb6c511ebba27bb069df9ae2f7bdda6874aa6b46a08010164640000000000000000000000000000000001010000010000000000eab0c75a52f38faa8a7904dbc80363d74caa9aa1f1bf57b5f5d15d6e305a1cc82a9e2922000000000000002200000000000000010000000000eab0c7210000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed323274190000000000000000eab0c70000001944eedf064517c3f7d65a3825ba0646de09b30ed01333d7d1c826abcb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000b6d1fa037b9839b061262ec8107e9dddca422eef89f55c717e58f4f777f1b3481b0000001a000000010000001b9bd3c993cb0b7cb6c511ebba27bb069df9ae2f7bdda6874aa6b46a0800000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":26,"value_ex":317058998,"consumed":318},"average_block_cpu_usage":{"last_ordinal":26,"value_ex":130025682,"consumed":230},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1075120,"virtual_cpu_limit":205055} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":27,"value_ex":314416839,"consumed":315},"average_block_cpu_usage":{"last_ordinal":27,"value_ex":129775468,"consumed":229},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1076196,"virtual_cpu_limit":205260} +DMLOG ACCEPTED_BLOCK_V2 0000001b9bd3c993cb0b7cb6c511ebba27bb069df9ae2f7bdda6874aa6b46a08 27 1 1a0000000000000000eab0c70000001a5903bc4cffbf6f3a643577b6296c8d6567a44c5193e31f8e2c890e9600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001002006236cea7bab5ac4c39f3811dbb837e00023b87451e3b302b2038cace8c0c3fc5e129e8ef4364d254eb7aa10a5b6194618443fa9ea2ceda76ef010ebf827bf3c000000 010000000000000001000000cdb67a0502d6dd3c9a96f40405bedf699d63f98a497a7a7362d5949adc9681f70d0d11fbe41dfd56b15cca2c88667989adeb653c05229c6b1b43ce8590c5554301000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000229164bc223280a22ac4354c856538dcdd367e7b10ffa2d90d9a72ab324f3cf00001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 28 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":27,"value_ex":268031,"consumed":1},"cpu_usage":{"last_ordinal":27,"value_ex":108207,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock e6e72682d75d1c522c846e7cb566a146db5b5cedc3c106385b25ad288ed6f7f6 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741a0000000000000000eab0c70000001a119e4cc9e5539d2154d56e32844168a34f7f1214bdcb7ba9e50ea676000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 28 e6e72682d75d1c522c846e7cb566a146db5b5cedc3c106385b25ad288ed6f7f61c0000001b000000010000001c8afe156c3014cde7a9da52fe006867010dc2115c7d34d729887c44cd010164640000000000000000000000000000000001010000010000000000eab0c79de5fdb05b6c28755a91634c8f0ac08527053e5011b7b6a319fd7ec84974f42523000000000000002300000000000000010000000000eab0c7220000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741a0000000000000000eab0c70000001a119e4cc9e5539d2154d56e32844168a34f7f1214bdcb7ba9e50ea67600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000e6e72682d75d1c522c846e7cb566a146db5b5cedc3c106385b25ad288ed6f7f61c0000001b000000010000001c8afe156c3014cde7a9da52fe006867010dc2115c7d34d729887c44cd00000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":27,"value_ex":315943855,"consumed":316},"average_block_cpu_usage":{"last_ordinal":27,"value_ex":129775468,"consumed":229},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1076196,"virtual_cpu_limit":205260} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":28,"value_ex":313310989,"consumed":314},"average_block_cpu_usage":{"last_ordinal":28,"value_ex":129527339,"consumed":229},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1077273,"virtual_cpu_limit":205465} -DMLOG ACCEPTED_BLOCK_V2 0000001c8afe156c3014cde7a9da52fe006867010dc2115c7d34d729887c44cd 28 1 1b0000000000000000eab0c70000001bf4482a1b6c235878efed3b78c32474c7d2030bdb76bad0e777c1d6ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f719f299ef8a16cfb19d0d577faf16ec9587911fd6355ae08def85feee78ea4c65b1fbdd51f8643fa28be3eeae33e13434802a7f551ba6f0597eab4847868c63c000000 0100000000000000010000002b8252a6f34505b7d090d7771758274aaca2d1b1c22c48317b4a3f5eb60f2a17b19af8e5eb7b8bbb2a4fb7c14cf22c671d3d70eb136e09fdaa41822afe5a04a801000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000f194e36671cbb33965e4b4e950631f81bf2daf26c157ef223960e73e6a06a4350001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":27,"value_ex":266736,"consumed":1},"cpu_usage":{"last_ordinal":27,"value_ex":108207,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock e2aa8570b3115e756bede8e66eb696bfd859ded93f540da823f33aaa4abb787a 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741a0000000000000000eab0c70000001a5903bc4cffbf6f3a643577b6296c8d6567a44c5193e31f8e2c890e96000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 28 e2aa8570b3115e756bede8e66eb696bfd859ded93f540da823f33aaa4abb787a1c0000001b000000010000001c7870be7fa068f232da8dfa4f8f9d6eb074a470a1d835f0559992a546010164640000000000000000000000000000000001010000010000000000eab0c7adf7949b0f8b15561cdd247d3dfe6ceee4c6cf95b2c30fb5d2441b3fc7108abd23000000000000002300000000000000010000000000eab0c7220000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741a0000000000000000eab0c70000001a5903bc4cffbf6f3a643577b6296c8d6567a44c5193e31f8e2c890e96000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000e2aa8570b3115e756bede8e66eb696bfd859ded93f540da823f33aaa4abb787a1c0000001b000000010000001c7870be7fa068f232da8dfa4f8f9d6eb074a470a1d835f0559992a54600000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":27,"value_ex":314416839,"consumed":315},"average_block_cpu_usage":{"last_ordinal":27,"value_ex":129775468,"consumed":229},"pending_net_usage":0,"pending_cpu_usage":100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1076196,"virtual_cpu_limit":205260} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":28,"value_ex":311796698,"consumed":312},"average_block_cpu_usage":{"last_ordinal":28,"value_ex":129527339,"consumed":229},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1077273,"virtual_cpu_limit":205465} +DMLOG ACCEPTED_BLOCK_V2 0000001c7870be7fa068f232da8dfa4f8f9d6eb074a470a1d835f0559992a546 28 1 1b0000000000000000eab0c70000001b9bd3c993cb0b7cb6c511ebba27bb069df9ae2f7bdda6874aa6b46a0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001001f4808f8f24d243bd65c8818cbb3cefbf4fedf1df0dd1ac0706c461e87549cd73c5c21076e017e85af5db61b4154a4504cf1ca2f71725e85106fb774ea9052e744000000 0100000000000000010000009187cf09e537fa5b5f2c9977209ba97e9cccb331bb888149be76919ca6b715445251b1fbc21384de6bd71d10c7e0250cf63a131eee492072caddfe920fb4975701000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000ee02a0a9796991a5d82c82719fab78f10424dff078a02959ddbb1d6416b923b80001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 29 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":28,"value_ex":268029,"consumed":1},"cpu_usage":{"last_ordinal":28,"value_ex":108785,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock 84256c5600225b74a1d4b7b169ceabb78f4dec01ff73f18e10a5b13bdac0d106 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741b0000000000000000eab0c70000001bf4482a1b6c235878efed3b78c32474c7d2030bdb76bad0e777c1d6ae000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 29 84256c5600225b74a1d4b7b169ceabb78f4dec01ff73f18e10a5b13bdac0d1061d0000001c000000010000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca436977701010164640000000000000000000000000000000001010000010000000000eab0c7dbb1073d16096b8dc7999584417a074947ee10c9e0d2cf4959129582f482048124000000000000002400000000000000010000000000eab0c7230000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741b0000000000000000eab0c70000001bf4482a1b6c235878efed3b78c32474c7d2030bdb76bad0e777c1d6ae0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000164000084256c5600225b74a1d4b7b169ceabb78f4dec01ff73f18e10a5b13bdac0d1061d0000001c000000010000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca43697770100000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":28,"value_ex":266734,"consumed":1},"cpu_usage":{"last_ordinal":28,"value_ex":108785,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock 5532083bbd9e3007ace63e57e11d10008cd00dbfca82439c8eaaa1d4aa62fb56 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741b0000000000000000eab0c70000001b9bd3c993cb0b7cb6c511ebba27bb069df9ae2f7bdda6874aa6b46a08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 29 5532083bbd9e3007ace63e57e11d10008cd00dbfca82439c8eaaa1d4aa62fb561d0000001c000000010000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a2010164640000000000000000000000000000000001010000010000000000eab0c7656f898719f7a13d9218d01966ef3271501830cabce7b815cd63fcb85f58c57324000000000000002400000000000000010000000000eab0c7230000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741b0000000000000000eab0c70000001b9bd3c993cb0b7cb6c511ebba27bb069df9ae2f7bdda6874aa6b46a080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000016400005532083bbd9e3007ace63e57e11d10008cd00dbfca82439c8eaaa1d4aa62fb561d0000001c000000010000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a200000000000000 DMLOG CREATION_OP ROOT 0 DMLOG PERM_OP INS 0 18 {"parent":0,"owner":"kvwriter","name":"owner","last_updated":"2025-01-01T00:00:14.000","auth":{"threshold":1,"keys":[{"key":"SYS5Lbis9dYMfvnZMjui9NnDosq2nTFGaVAawM9pfEAV74xY48Rp6","weight":1}],"accounts":[{"permission":{"actor":"kvwriter","permission":"sysio.code"},"weight":1}]}} DMLOG PERM_OP INS 0 19 {"parent":18,"owner":"kvwriter","name":"active","last_updated":"2025-01-01T00:00:14.000","auth":{"threshold":1,"keys":[{"key":"SYS5PkdKzWJEJGtJd4XZSnABx6kvbNQeuYkxgtZifxyNwEPD4cBhL","weight":1}],"accounts":[{"permission":{"actor":"kvwriter","permission":"sysio.code"},"weight":1}]}} DMLOG RLIMIT_OP ACCOUNT_LIMITS INS {"owner":"kvwriter","net_weight":-1,"cpu_weight":-1,"ram_bytes":-1} DMLOG RLIMIT_OP ACCOUNT_USAGE INS {"owner":"kvwriter","net_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"cpu_usage":{"last_ordinal":0,"value_ex":0,"consumed":0},"ram_usage":0} DMLOG RAM_OP 0 kvwriter account add newaccount kvwriter 1008 1008 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":28,"value_ex":269586,"consumed":270},"cpu_usage":{"last_ordinal":28,"value_ex":120360,"consumed":2101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 29 04352e932cd2f1c6d55a51b57540df1a23461f10ac7bd86bf438c95c5a53610d1d0000001c000000010000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca4369777010101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c73bf986cb738e78f7952e9039ab8e6143cf16609bf5daee03e09dde81830d733525000000000000002500000000000000010000000000eab0c7240000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000576577f986010000000100023b4917b08dc9a01cec41120ace4545fc5f089356edd7b2dcce565203531ecc55010001000000576577f98600804a1401eab0c701000100000001000242722c15ee8ed791df8d66b68fc5f8ce70ed81151d01742a917bd4a459edcd07010001000000576577f98600804a1401eab0c7010000000000000000000001d00f018d020004352e932cd2f1c6d55a51b57540df1a23461f10ac7bd86bf438c95c5a53610d1d0000001c000000010000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca43697770101000000576577f986f003000000000000000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":28,"value_ex":268291,"consumed":270},"cpu_usage":{"last_ordinal":28,"value_ex":120360,"consumed":2101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 29 c0b408312c02ee57c59c34b00c202cdf6ae4d723c29c3c067373d3924485fd291d0000001c000000010000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a20101d00fd00f00000000000000000d0100000000000001010000010000000000eab0c73bf986cb738e78f7952e9039ab8e6143cf16609bf5daee03e09dde81830d733525000000000000002500000000000000010000000000eab0c7240000000000000001010000000000eab0c70000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000576577f986010000000100023b4917b08dc9a01cec41120ace4545fc5f089356edd7b2dcce565203531ecc55010001000000576577f98600804a1401eab0c701000100000001000242722c15ee8ed791df8d66b68fc5f8ce70ed81151d01742a917bd4a459edcd07010001000000576577f98600804a1401eab0c70100000000000000000001d00f018d0200c0b408312c02ee57c59c34b00c202cdf6ae4d723c29c3c067373d3924485fd291d0000001c000000010000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a201000000576577f986f003000000000000000000000000 DMLOG CREATION_OP ROOT 0 DMLOG RAM_OP 0 kvwriter code add setcode kvwriter 11088 10080 DMLOG KV_OP INS 0 kvwriter sysio 16298 86f9776557000000 000000576577f986111a874ded1404900c089d3b47a18bd449347f1093b7f6271694b0bf7d8e406c80ffe1ba992a06001d000000 DMLOG RAM_OP 0 sysio:16298:86f9776557000000 table_row add primary_index_add kvwriter 11260 172 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":28,"value_ex":276166,"consumed":1407},"cpu_usage":{"last_ordinal":28,"value_ex":131935,"consumed":4101},"ram_usage":421890} -DMLOG APPLIED_TRANSACTION 29 1372c1c12d7e094483d6ced3b36fe8ffcf4b339f9dbfa2305d6138e2d5a3b7701d0000001c000000010000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca4369777010101d00fd00f0000000000000000710400000000000001010000010000000000eab0c7476bc5dcb9e334438fc6a9bca1258c951785a7d252ea616c3759b958169ca3a92600000000000000260000000000000001000000576577f986010000000000000001010000000000eab0c70000000000eab0c700000040258ab2c201000000576577f98600000000a8ed3232ec07000000576577f9860000e0070061736d0100000001660c60027f7f017f60027f7f0060077f7e7f7f7f7f7f017f60037f7f7f017f60067f7e7f7f7f7f017f60087f7e7f7f7f7f7f7f017f60057f7f7f7f7f017f60087f7f7f7f7f7f7f7f017f60017f0060077f7f7f7f7f7f7f017f60047f7f7f7f017f60037e7e7e00028c020f03656e7610726561645f616374696f6e5f64617461000003656e760c737973696f5f617373657274000103656e76066b765f736574000203656e76086b765f6572617365000303656e760c6b765f6964785f73746f7265000403656e760d6b765f6964785f757064617465000503656e760c6b765f6964785f6572617365000603656e76066b765f676574000203656e760c6b765f69745f637265617465000403656e760a6b765f69745f72656164000703656e760d6b765f69745f64657374726f79000803656e760b6b765f6964785f66696e64000403656e760b6b765f6964785f72656164000903656e760e6b765f6964785f64657374726f79000803656e76066d656d636d7000030303020a0b0503010002071202066d656d6f72790200056170706c7900100aa1040216002001200347047f410005200020022003100e450b0b870403027f017e0a7f410041e8fb0310001a4100280200210341042802002104410829030021054110280200210641142802002107412821094118280200210a2009200a6a210b411c280200210c200b200c6a210d4120280200210e20034100460440200420052009200a200b200c2006100221080b2003410146044020042009200a100321080b20034102460440200420052009200a200b200c100421080b20034103460440200420052009200a200b200c200d200e100521080b2003410446044020042009200a200b200c100621080b20034105460440200420052009200a410041808004418080021007210f41022108200f41004e044041808004200f200b200c100f047f41000541e3000b21080b0b2003410646044020042005410041002009200a1008210f200f4100418080044180800241808006418080024180fc034184fc03100921082008450440418080044180fc032802002009200a100f418080064184fc03280200200b200c100f71047f41000541e3000b21080b200f100a0b200341074604402004200541004100200b200c100b210f41022108200f41004e0440200f418080044180800241808006418080024180fc034184fc03100c21082008450440418080044180fc03280200200b200c100f418080064184fc032802002009200a100f71047f41000541e3000b21080b200f100d0b0b200820074641e8fb0310010b0b1d010041e8fb030b15756e6578706563746564206b76207374617475730000000000000000000001d00f01f108001372c1c12d7e094483d6ced3b36fe8ffcf4b339f9dbfa2305d6138e2d5a3b7701d0000001c000000010000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca43697770101000000576577f9860c28000000000000000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":28,"value_ex":313310989,"consumed":314},"average_block_cpu_usage":{"last_ordinal":28,"value_ex":129527339,"consumed":229},"pending_net_usage":1406,"pending_cpu_usage":4100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1077273,"virtual_cpu_limit":205465} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":29,"value_ex":322416731,"consumed":1717},"average_block_cpu_usage":{"last_ordinal":29,"value_ex":162614611,"consumed":4229},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1078351,"virtual_cpu_limit":205670} -DMLOG ACCEPTED_BLOCK_V2 0000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca436977701 29 1 1c0000000000000000eab0c70000001c8afe156c3014cde7a9da52fe006867010dc2115c7d34d729887c44cdfe2e97608544c9e3f2cc5cc990d4334cc0692fa49a84c19eac057156de8ba3e100000000000000000000000000000000000000000000000000000000000000000100000000000000010020ae1fa0a869a9a31b4199962d67947cae1fcf76b2872648045fca69ca9b3f503f697cc1a8e07b222a172ddf4a54549429ae7f3dd9c927cbeb1486ab501f7a4f6d0201d00f0100205a09e4d627a726402979d86dc9892d4189aff6e1089cc1ae384886ae1afc68d928e6b6e21c3a7caa666c0805f8187ef1c1b58cda29082e7f36b354e9b8d5dba60000bb01938574671c003014cde700000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000576577f986010000000100023b4917b08dc9a01cec41120ace4545fc5f089356edd7b2dcce565203531ecc55010001000000576577f98600804a1401eab0c701000100000001000242722c15ee8ed791df8d66b68fc5f8ce70ed81151d01742a917bd4a459edcd07010001000000576577f98600804a1401eab0c701000001d00f01001f48b89927cac0834e123c240f713fd49c6d80aa19b10203f436d1a53f7d4d530741df1f070893d0f0db687afe5ac0d8dd9adeb6861dc1318391e9a0641dbea62600009f08938574671c003014cde700000000010000000000eab0c700000040258ab2c201000000576577f98600000000a8ed3232ec07000000576577f9860000e0070061736d0100000001660c60027f7f017f60027f7f0060077f7e7f7f7f7f7f017f60037f7f7f017f60067f7e7f7f7f7f017f60087f7e7f7f7f7f7f7f017f60057f7f7f7f7f017f60087f7f7f7f7f7f7f7f017f60017f0060077f7f7f7f7f7f7f017f60047f7f7f7f017f60037e7e7e00028c020f03656e7610726561645f616374696f6e5f64617461000003656e760c737973696f5f617373657274000103656e76066b765f736574000203656e76086b765f6572617365000303656e760c6b765f6964785f73746f7265000403656e760d6b765f6964785f757064617465000503656e760c6b765f6964785f6572617365000603656e76066b765f676574000203656e760c6b765f69745f637265617465000403656e760a6b765f69745f72656164000703656e760d6b765f69745f64657374726f79000803656e760b6b765f6964785f66696e64000403656e760b6b765f6964785f72656164000903656e760e6b765f6964785f64657374726f79000803656e76066d656d636d7000030303020a0b0503010002071202066d656d6f72790200056170706c7900100aa1040216002001200347047f410005200020022003100e450b0b870403027f017e0a7f410041e8fb0310001a4100280200210341042802002104410829030021054110280200210641142802002107412821094118280200210a2009200a6a210b411c280200210c200b200c6a210d4120280200210e20034100460440200420052009200a200b200c2006100221080b2003410146044020042009200a100321080b20034102460440200420052009200a200b200c100421080b20034103460440200420052009200a200b200c200d200e100521080b2003410446044020042009200a200b200c100621080b20034105460440200420052009200a410041808004418080021007210f41022108200f41004e044041808004200f200b200c100f047f41000541e3000b21080b0b2003410646044020042005410041002009200a1008210f200f4100418080044180800241808006418080024180fc034184fc03100921082008450440418080044180fc032802002009200a100f418080064184fc03280200200b200c100f71047f41000541e3000b21080b200f100a0b200341074604402004200541004100200b200c100b210f41022108200f41004e0440200f418080044180800241808006418080024180fc034184fc03100c21082008450440418080044180fc03280200200b200c100f418080064184fc032802002009200a100f71047f41000541e3000b21080b200f100d0b0b200820074641e8fb0310010b0b1d010041e8fb030b15756e6578706563746564206b762073746174757300000000 01000000000000000100000055345fcce7313bf44442e174b61a0588ead7ee3b97691179d777c2c96e3e65e737d276422d183b7ef2293957c18671616fb4880851e489b3be1fe03616d9bdb001000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000d230a0b2fd3c887aedefe4fe989c24a38b71f19418f8aa5cb0245db18ca8c9940001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":28,"value_ex":274871,"consumed":1407},"cpu_usage":{"last_ordinal":28,"value_ex":131935,"consumed":4101},"ram_usage":420424} +DMLOG APPLIED_TRANSACTION 29 6a8ff115029693789a6d87ec15ef97f646fce788a2199aee256420177763b1d51d0000001c000000010000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a20101d00fd00f0000000000000000710400000000000001010000010000000000eab0c7476bc5dcb9e334438fc6a9bca1258c951785a7d252ea616c3759b958169ca3a92600000000000000260000000000000001000000576577f986010000000000000001010000000000eab0c70000000000eab0c700000040258ab2c201000000576577f98600000000a8ed3232ec07000000576577f9860000e0070061736d0100000001660c60027f7f017f60027f7f0060077f7e7f7f7f7f7f017f60037f7f7f017f60067f7e7f7f7f7f017f60087f7e7f7f7f7f7f7f017f60057f7f7f7f7f017f60087f7f7f7f7f7f7f7f017f60017f0060077f7f7f7f7f7f7f017f60047f7f7f7f017f60037e7e7e00028c020f03656e7610726561645f616374696f6e5f64617461000003656e760c737973696f5f617373657274000103656e76066b765f736574000203656e76086b765f6572617365000303656e760c6b765f6964785f73746f7265000403656e760d6b765f6964785f757064617465000503656e760c6b765f6964785f6572617365000603656e76066b765f676574000203656e760c6b765f69745f637265617465000403656e760a6b765f69745f72656164000703656e760d6b765f69745f64657374726f79000803656e760b6b765f6964785f66696e64000403656e760b6b765f6964785f72656164000903656e760e6b765f6964785f64657374726f79000803656e76066d656d636d7000030303020a0b0503010002071202066d656d6f72790200056170706c7900100aa1040216002001200347047f410005200020022003100e450b0b870403027f017e0a7f410041e8fb0310001a4100280200210341042802002104410829030021054110280200210641142802002107412821094118280200210a2009200a6a210b411c280200210c200b200c6a210d4120280200210e20034100460440200420052009200a200b200c2006100221080b2003410146044020042009200a100321080b20034102460440200420052009200a200b200c100421080b20034103460440200420052009200a200b200c200d200e100521080b2003410446044020042009200a200b200c100621080b20034105460440200420052009200a410041808004418080021007210f41022108200f41004e044041808004200f200b200c100f047f41000541e3000b21080b0b2003410646044020042005410041002009200a1008210f200f4100418080044180800241808006418080024180fc034184fc03100921082008450440418080044180fc032802002009200a100f418080064184fc03280200200b200c100f71047f41000541e3000b21080b200f100a0b200341074604402004200541004100200b200c100b210f41022108200f41004e0440200f418080044180800241808006418080024180fc034184fc03100c21082008450440418080044180fc03280200200b200c100f418080064184fc032802002009200a100f71047f41000541e3000b21080b200f100d0b0b200820074641e8fb0310010b0b1d010041e8fb030b15756e6578706563746564206b762073746174757300000000000000000001d00f01f108006a8ff115029693789a6d87ec15ef97f646fce788a2199aee256420177763b1d51d0000001c000000010000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a201000000576577f9860c28000000000000000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":28,"value_ex":311796698,"consumed":312},"average_block_cpu_usage":{"last_ordinal":28,"value_ex":129527339,"consumed":229},"pending_net_usage":1406,"pending_cpu_usage":4100,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1077273,"virtual_cpu_limit":205465} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":29,"value_ex":320915059,"consumed":1716},"average_block_cpu_usage":{"last_ordinal":29,"value_ex":162614611,"consumed":4229},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1078351,"virtual_cpu_limit":205670} +DMLOG ACCEPTED_BLOCK_V2 0000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a2 29 1 1c0000000000000000eab0c70000001c7870be7fa068f232da8dfa4f8f9d6eb074a470a1d835f0559992a5469983005532a0989e6f09be7344c54ba365962215878087278e71aab65eddcfda0000000000000000000000000000000000000000000000000000000000000000010000000000000001001fcc66bb67ff750b746e9ddc37ae65badcd7f597e1b260f847e74c0e38534743b66ebe0e257bb383ca49754b8380c79da2bd574b58a2ca611a78aa3b559a12c0c50201d00f01001f00fde64bfc25c10bc117d1802336b0e7a40199c198c916b741d18ad8e8505bdc4809be0de6763ae4ef997ff7230b8b6216fb49ae142face06b8e0081a609a7360000bb01938574671c00a068f23200000000010000000000eab0c700409e9a2264b89a010000000000eab0c700000000a8ed323288010000000000eab0c7000000576577f986010000000100023b4917b08dc9a01cec41120ace4545fc5f089356edd7b2dcce565203531ecc55010001000000576577f98600804a1401eab0c701000100000001000242722c15ee8ed791df8d66b68fc5f8ce70ed81151d01742a917bd4a459edcd07010001000000576577f98600804a1401eab0c701000001d00f01002085273427f45b7e7853c017d4bf2ec6d918374f38d56a2eb1d6ec335e032f313d45b1814ac76e1493441fe23faace6f1ddfde2cd1d191ebf6f9fe4106b6933df700009f08938574671c00a068f23200000000010000000000eab0c700000040258ab2c201000000576577f98600000000a8ed3232ec07000000576577f9860000e0070061736d0100000001660c60027f7f017f60027f7f0060077f7e7f7f7f7f7f017f60037f7f7f017f60067f7e7f7f7f7f017f60087f7e7f7f7f7f7f7f017f60057f7f7f7f7f017f60087f7f7f7f7f7f7f7f017f60017f0060077f7f7f7f7f7f7f017f60047f7f7f7f017f60037e7e7e00028c020f03656e7610726561645f616374696f6e5f64617461000003656e760c737973696f5f617373657274000103656e76066b765f736574000203656e76086b765f6572617365000303656e760c6b765f6964785f73746f7265000403656e760d6b765f6964785f757064617465000503656e760c6b765f6964785f6572617365000603656e76066b765f676574000203656e760c6b765f69745f637265617465000403656e760a6b765f69745f72656164000703656e760d6b765f69745f64657374726f79000803656e760b6b765f6964785f66696e64000403656e760b6b765f6964785f72656164000903656e760e6b765f6964785f64657374726f79000803656e76066d656d636d7000030303020a0b0503010002071202066d656d6f72790200056170706c7900100aa1040216002001200347047f410005200020022003100e450b0b870403027f017e0a7f410041e8fb0310001a4100280200210341042802002104410829030021054110280200210641142802002107412821094118280200210a2009200a6a210b411c280200210c200b200c6a210d4120280200210e20034100460440200420052009200a200b200c2006100221080b2003410146044020042009200a100321080b20034102460440200420052009200a200b200c100421080b20034103460440200420052009200a200b200c200d200e100521080b2003410446044020042009200a200b200c100621080b20034105460440200420052009200a410041808004418080021007210f41022108200f41004e044041808004200f200b200c100f047f41000541e3000b21080b0b2003410646044020042005410041002009200a1008210f200f4100418080044180800241808006418080024180fc034184fc03100921082008450440418080044180fc032802002009200a100f418080064184fc03280200200b200c100f71047f41000541e3000b21080b200f100a0b200341074604402004200541004100200b200c100b210f41022108200f41004e0440200f418080044180800241808006418080024180fc034184fc03100c21082008450440418080044180fc03280200200b200c100f418080064184fc032802002009200a100f71047f41000541e3000b21080b200f100d0b0b200820074641e8fb0310010b0b1d010041e8fb030b15756e6578706563746564206b762073746174757300000000 010000000000000001000000954e4fe0b3b1642962983931ef78d31faf43f164dc058f616881d2bf67a5cad43cf83ddaef0f341543e08ee37f411b49a457c6b5d75d9555555a16dc3f2ff79401000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000002280e23489cb31d1f40cea2df44d8cb0078f2ba939eaf7e798a222df2678293d0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 DMLOG START_BLOCK 30 DMLOG CREATION_OP ROOT 0 -DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":29,"value_ex":276164,"consumed":1},"cpu_usage":{"last_ordinal":29,"value_ex":132513,"consumed":101},"ram_usage":421890} -DMLOG TRX_OP CREATE onblock a16533eb4cc229f0a6331e1b1a8f0669dafdd49a604bc51671667c2e98b4b4c8 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741c0000000000000000eab0c70000001c8afe156c3014cde7a9da52fe006867010dc2115c7d34d729887c44cdfe2e97608544c9e3f2cc5cc990d4334cc0692fa49a84c19eac057156de8ba3e100000000000000000000000000000000000000000000000000000000000000000100000000000000000000 -DMLOG APPLIED_TRANSACTION 30 a16533eb4cc229f0a6331e1b1a8f0669dafdd49a604bc51671667c2e98b4b4c81e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242010164640000000000000000000000000000000001010000010000000000eab0c7c95604c595f90ec50967ec7a7f7c7b6d198839f0f18b9b2feb904ce2a29477f427000000000000002700000000000000010000000000eab0c7250000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741c0000000000000000eab0c70000001c8afe156c3014cde7a9da52fe006867010dc2115c7d34d729887c44cdfe2e97608544c9e3f2cc5cc990d4334cc0692fa49a84c19eac057156de8ba3e10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001640000a16533eb4cc229f0a6331e1b1a8f0669dafdd49a604bc51671667c2e98b4b4c81e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c1424200000000000000 +DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"sysio","net_usage":{"last_ordinal":29,"value_ex":274869,"consumed":1},"cpu_usage":{"last_ordinal":29,"value_ex":132513,"consumed":101},"ram_usage":420424} +DMLOG TRX_OP CREATE onblock dbcd1d885afc2d4ddc935c6880ece7d6c22d48a23a7ffff1df4198549dba48ec 0000000000000000000000000000010000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741c0000000000000000eab0c70000001c7870be7fa068f232da8dfa4f8f9d6eb074a470a1d835f0559992a5469983005532a0989e6f09be7344c54ba365962215878087278e71aab65eddcfda00000000000000000000000000000000000000000000000000000000000000000100000000000000000000 +DMLOG APPLIED_TRANSACTION 30 dbcd1d885afc2d4ddc935c6880ece7d6c22d48a23a7ffff1df4198549dba48ec1e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c010164640000000000000000000000000000000001010000010000000000eab0c7673537f13bce1c190f93db4ba52d35580f8e1707068b9c39fafc7289c5ba269f27000000000000002700000000000000010000000000eab0c7250000000000000001010000000000eab0c70000000000eab0c700000000221acfa4010000000000eab0c700000000a8ed3232741c0000000000000000eab0c70000001c7870be7fa068f232da8dfa4f8f9d6eb074a470a1d835f0559992a5469983005532a0989e6f09be7344c54ba365962215878087278e71aab65eddcfda00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000001640000dbcd1d885afc2d4ddc935c6880ece7d6c22d48a23a7ffff1df4198549dba48ec1e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c00000000000000 DMLOG CREATION_OP ROOT 0 DMLOG KV_OP INS 0 kvwriter kvwriter 7 726f77 7631 DMLOG RAM_OP 0 kvwriter:7:726f77 table_row add primary_index_add kvwriter 11377 117 @@ -350,7 +350,7 @@ DMLOG KV_IDX_OP REM 11 alice kvwriter 7 706b 73337333 DMLOG RAM_OP 11 kvwriter:7:706b:73337333 secondary_index remove secondary_index_remove alice 1264 -118 DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"alice","net_usage":{"last_ordinal":29,"value_ex":1488,"consumed":257},"cpu_usage":{"last_ordinal":29,"value_ex":1922,"consumed":332},"ram_usage":1264} DMLOG RLIMIT_OP ACCOUNT_USAGE UPD {"owner":"kvwriter","net_usage":{"last_ordinal":29,"value_ex":5400,"consumed":933},"cpu_usage":{"last_ordinal":29,"value_ex":9607,"consumed":1660},"ram_usage":11260} -DMLOG APPLIED_TRANSACTION 30 5fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242010ca601a601a601a601a601a601a601a601a601a601a601a601c80f0000000000000000a6040000000000000c01000001000000576577f986127f1b6dc264ed657e5eec112927d4760aa57e57dca4c985733e189f4f5b42a32800000000000000010000000000000001000000576577f98602000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000000000003000000020000000000000000000000726f77763100000000000000000001a601015d005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c1424201000000576577f986750000000000000000000002000001000000576577f986421195428fd6e2eff67b33529aa1d883500e5110a0ad1a87e6fb2912e6c3ac742900000000000000020000000000000001000000576577f98603000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000300000003000000020000000000000000000000726f77763900000000000000000001a601015d005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c142420000000003000001000000576577f98600a1ada6cce60ebd6af360d042c0e3a4e455eeb7e3ed44a154501f070e0825342a00000000000000030000000000000001000000576577f98604000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986020000000000000003000000020000000000000000000000726f77763200000000000000000001a601015d005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c142420000000004000001000000576577f98697b19ed560491a7986e81191426f07a7eb5e31663dbac476d01dc02bfb517eb82b00000000000000040000000000000001000000576577f98605000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322f0000000007000000000000576577f986020000000000000003000000040000000000000000000000726f777633763300000000000000000001a601015f005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c1424201000000576577f986020000000000000000000005000001000000576577f9867ca3b203c195caf62d50b6462587a91475ba2fb087186888a3a30c09aeaac2372c000000000000000500000000000000020000000000855c340300000000000000000000576577f98606000000000000000100000000576577f986000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32322f00000000070000000000000000855c34020000000000000003000000040000000000000000000000726f777633763300000000000000000001a601017f005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242020000000000855c347700000000000000000000576577f98689ffffffffffffff00000006000001000000576577f986f6ee9a066d94dcbe024bd71f2f3db4821c2f907edfa67b2596de54fc5b55f6532d00000000000000060000000000000001000000576577f98607000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322b01000000070000000000000000000000000000000000000003000000000000000000000000000000726f7700000000000000000001a601015b005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242010000000000855c3489ffffffffffffff00000007000001000000576577f98691cd70be2923158ca0ba66a08a04c39dc6374523e937881a16a4a54135d11b6d2e00000000000000070000000000000001000000576577f98608000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000000000002000000020000000000000000000000706b733100000000000000000001a601015c005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c1424201000000576577f986740000000000000000000008000001000000576577f9866f54d5e57a741cf4aace0b90ff6088a470f8873d12b93cfb74bf36bef90a5a9f2f00000000000000080000000000000001000000576577f98609000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000300000002000000020000000000000000000000706b733100000000000000000001a601015c005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c142420000000009000001000000576577f986381b4ef623cc4c855524663ddb81dcff299c76619508b43e9fda771074607e993000000000000000090000000000000001000000576577f9860a000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322e0300000007000000000000576577f986000000000000000002000000020000000200000000000000706b7331733200000000000000000001a601015e005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242000000000a000001000000576577f986b85c15cdf033ae58b2fd89ade90716c4a80fffa5664d325dcf6e5f99a99f011e31000000000000000a0000000000000001000000576577f9860b000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed3232300300000007000000000000576577f986000000000000000002000000020000000400000000000000706b73327333733300000000000000000001a6010160005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c1424201000000576577f98602000000000000000000000b000001000000576577f9863c08a0b0b5702fcdbcddfc37fdc98568b79e6c5856264d9f2d54b209644cc9f032000000000000000b00000000000000020000000000855c340500000000000000000000576577f9860c000000000000000100000000576577f986000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32323203000000070000000000000000855c34000000000000000002000000040000000400000000000000706b733373337333733300000000000000000001a601018201005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242020000000000855c347600000000000000000000576577f9868affffffffffffff0000000c000001000000576577f9864d028ddd45f8d60cef2380d61f3d19ac5e8dad6acf91c5a3ad2e37c970800c6733000000000000000c0000000000000001000000576577f9860d000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322e04000000070000000000000000000000000000000000000002000000040000000000000000000000706b7333733300000000000000000001a601015e005fab1012933c6ae6cde0772025f8d77f0db18cdbe98b78a339bc85b8221b98ab1e0000001d000000010000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242010000000000855c348affffffffffffff000000000000 -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":29,"value_ex":322416731,"consumed":1717},"average_block_cpu_usage":{"last_ordinal":29,"value_ex":162614611,"consumed":4229},"pending_net_usage":1190,"pending_cpu_usage":2092,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1078351,"virtual_cpu_limit":205670} -DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":30,"value_ex":329646591,"consumed":1510},"average_block_cpu_usage":{"last_ordinal":30,"value_ex":178692823,"consumed":2254},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1079430,"virtual_cpu_limit":205875} -DMLOG ACCEPTED_BLOCK_V2 0000001e7bd82fa31bb6666cfd3ba4dccdcd01c560a2b1c669a247a502c14242 30 1 1d0000000000000000eab0c70000001d20d1f0bd1f2489bbd552397089e8434fa5175871f048eca436977701524b7e0c992791ddeba2ebca71662bbb7da48d4c4e0a7bcc669672affdee8790000000000000000000000000000000000000000000000000000000000000000001000000000000000100203cc67202cafe90a090ca2a74eb8d7fb529597d9bd422d900f6753ea903d13156106ac2286587c299f9421558f9734e0814436e8f1b1675796afaad7e6a5f74cb010ca601a601a601a601a601a601a601a601a601a601a601a60102002066349742df5f80b9e3f73475dd9e1609af152131f2e7f72e8f54cccd43097ab520bf54f4d0c30ce449beeadfba9213b4ed2ff52a4b19a4f27202e8eb28a53ac7001fc2ead5071c7d0b71857a871c2ace3cca8e4aabfffe3d658b02d3be9e47338966488feccbf683eb91a8149f5eb2888ebfa0dac240510d3b21215d9eed538caa2c00008e08948574671d001f2489bb000000000c000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000000000003000000020000000000000000000000726f777631000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000300000003000000020000000000000000000000726f777639000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986020000000000000003000000020000000000000000000000726f777632000000576577f986000000000095dde501000000576577f98600000000a8ed32322f0000000007000000000000576577f986020000000000000003000000040000000000000000000000726f7776337633000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32322f00000000070000000000000000855c34020000000000000003000000040000000000000000000000726f7776337633000000576577f986000000000095dde501000000576577f98600000000a8ed32322b01000000070000000000000000000000000000000000000003000000000000000000000000000000726f77000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000000000002000000020000000000000000000000706b7331000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000300000002000000020000000000000000000000706b7331000000576577f986000000000095dde501000000576577f98600000000a8ed32322e0300000007000000000000576577f986000000000000000002000000020000000200000000000000706b73317332000000576577f986000000000095dde501000000576577f98600000000a8ed3232300300000007000000000000576577f986000000000000000002000000020000000400000000000000706b733273337333000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32323203000000070000000000000000855c34000000000000000002000000040000000400000000000000706b7333733373337333000000576577f986000000000095dde501000000576577f98600000000a8ed32322e04000000070000000000000000000000000000000000000002000000040000000000000000000000706b73337333000000 0100000000000000010000002601f0794f43dde4f2489c0ed8b2aa6dd06ee173c27ecac2608e1df782935f90cd9755dcd34e25fae836a2179f40eda6d31f8d7b9d647fbe3b82a3ee624d484501000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f598000000009e42824a45a1dced9b0b17b2df16132ef2ee6468b43fd0897532ae13665a6a020001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 +DMLOG APPLIED_TRANSACTION 30 a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c010ca601a601a601a601a601a601a601a601a601a601a601a601c80f0000000000000000a6040000000000000c01000001000000576577f986127f1b6dc264ed657e5eec112927d4760aa57e57dca4c985733e189f4f5b42a32800000000000000010000000000000001000000576577f98602000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000000000003000000020000000000000000000000726f777631000000000000000001a601015d00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c01000000576577f986750000000000000000000002000001000000576577f986421195428fd6e2eff67b33529aa1d883500e5110a0ad1a87e6fb2912e6c3ac742900000000000000020000000000000001000000576577f98603000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000300000003000000020000000000000000000000726f777639000000000000000001a601015d00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c0000000003000001000000576577f98600a1ada6cce60ebd6af360d042c0e3a4e455eeb7e3ed44a154501f070e0825342a00000000000000030000000000000001000000576577f98604000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986020000000000000003000000020000000000000000000000726f777632000000000000000001a601015d00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c0000000004000001000000576577f98697b19ed560491a7986e81191426f07a7eb5e31663dbac476d01dc02bfb517eb82b00000000000000040000000000000001000000576577f98605000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322f0000000007000000000000576577f986020000000000000003000000040000000000000000000000726f7776337633000000000000000001a601015f00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c01000000576577f986020000000000000000000005000001000000576577f9867ca3b203c195caf62d50b6462587a91475ba2fb087186888a3a30c09aeaac2372c000000000000000500000000000000020000000000855c340300000000000000000000576577f98606000000000000000100000000576577f986000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32322f00000000070000000000000000855c34020000000000000003000000040000000000000000000000726f7776337633000000000000000001a601017f00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c020000000000855c347700000000000000000000576577f98689ffffffffffffff00000006000001000000576577f986f6ee9a066d94dcbe024bd71f2f3db4821c2f907edfa67b2596de54fc5b55f6532d00000000000000060000000000000001000000576577f98607000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322b01000000070000000000000000000000000000000000000003000000000000000000000000000000726f77000000000000000001a601015b00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c010000000000855c3489ffffffffffffff00000007000001000000576577f98691cd70be2923158ca0ba66a08a04c39dc6374523e937881a16a4a54135d11b6d2e00000000000000070000000000000001000000576577f98608000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000000000002000000020000000000000000000000706b7331000000000000000001a601015c00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c01000000576577f986740000000000000000000008000001000000576577f9866f54d5e57a741cf4aace0b90ff6088a470f8873d12b93cfb74bf36bef90a5a9f2f00000000000000080000000000000001000000576577f98609000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000300000002000000020000000000000000000000706b7331000000000000000001a601015c00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c0000000009000001000000576577f986381b4ef623cc4c855524663ddb81dcff299c76619508b43e9fda771074607e993000000000000000090000000000000001000000576577f9860a000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322e0300000007000000000000576577f986000000000000000002000000020000000200000000000000706b73317332000000000000000001a601015e00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c000000000a000001000000576577f986b85c15cdf033ae58b2fd89ade90716c4a80fffa5664d325dcf6e5f99a99f011e31000000000000000a0000000000000001000000576577f9860b000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed3232300300000007000000000000576577f986000000000000000002000000020000000400000000000000706b733273337333000000000000000001a601016000a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c01000000576577f98602000000000000000000000b000001000000576577f9863c08a0b0b5702fcdbcddfc37fdc98568b79e6c5856264d9f2d54b209644cc9f032000000000000000b00000000000000020000000000855c340500000000000000000000576577f9860c000000000000000100000000576577f986000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32323203000000070000000000000000855c34000000000000000002000000040000000400000000000000706b7333733373337333000000000000000001a60101820100a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c020000000000855c347600000000000000000000576577f9868affffffffffffff0000000c000001000000576577f9864d028ddd45f8d60cef2380d61f3d19ac5e8dad6acf91c5a3ad2e37c970800c6733000000000000000c0000000000000001000000576577f9860d000000000000000100000000576577f986000000576577f986000000000095dde501000000576577f98600000000a8ed32322e04000000070000000000000000000000000000000000000002000000040000000000000000000000706b73337333000000000000000001a601015e00a85c047ea51fa1a15bb4f20aaeed7b8fe70475753e1317e84aad1cfd9f9f38481e0000001d000000010000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c010000000000855c348affffffffffffff000000000000 +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":29,"value_ex":320915059,"consumed":1716},"average_block_cpu_usage":{"last_ordinal":29,"value_ex":162614611,"consumed":4229},"pending_net_usage":1190,"pending_cpu_usage":2092,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1078351,"virtual_cpu_limit":205670} +DMLOG RLIMIT_OP STATE UPD {"average_block_net_usage":{"last_ordinal":30,"value_ex":328157433,"consumed":1509},"average_block_cpu_usage":{"last_ordinal":30,"value_ex":178692823,"consumed":2254},"pending_net_usage":0,"pending_cpu_usage":0,"total_net_weight":0,"total_cpu_weight":0,"total_ram_bytes":0,"virtual_net_limit":1079430,"virtual_cpu_limit":205875} +DMLOG ACCEPTED_BLOCK_V2 0000001ec7319489b473ddde0d4833b346767e3aa530a92485b61352d48b6f7c 30 1 1d0000000000000000eab0c70000001d7b9637f4a44c35beb367f0c7d4948d32e0a4a7370d19085c626107a23b8b0ee31d64cf49d943413e7ef8a4616427972cac169b63707f23033050cbd8000000000000000000000000000000000000000000000000000000000000000001000000000000000100203ea82a4e4f76d45b48a1f60fc7960bd7b45477f714b6778456cd08dcfd9e4b430b5d110faf01fbd25f616d3953103944a979816c983bcd4ed7fea89202532fbe010ca601a601a601a601a601a601a601a601a601a601a601a60102001f2a5bdc37a2be7728956727e74b70e76b54768c995e50d09174a137966f700ff059092542173e3e35f9ca783d52197cecc3fac2c6043eb8ce9661cd56afab4b7f001fb3ed269d4c2a61950e0e4877e31e8a97527021e5e68a8623c75549cc8ee2fb69384e99aa71673ebb2e8e4ba19ce32a43cbbe9c56783ce4a7d375394753c5d0b000008e08948574671d00a44c35be000000000c000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000000000003000000020000000000000000000000726f777631000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986010000000300000003000000020000000000000000000000726f777639000000576577f986000000000095dde501000000576577f98600000000a8ed32322d0000000007000000000000576577f986020000000000000003000000020000000000000000000000726f777632000000576577f986000000000095dde501000000576577f98600000000a8ed32322f0000000007000000000000576577f986020000000000000003000000040000000000000000000000726f7776337633000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32322f00000000070000000000000000855c34020000000000000003000000040000000000000000000000726f7776337633000000576577f986000000000095dde501000000576577f98600000000a8ed32322b01000000070000000000000000000000000000000000000003000000000000000000000000000000726f77000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000000000002000000020000000000000000000000706b7331000000576577f986000000000095dde501000000576577f98600000000a8ed32322c0200000007000000000000576577f986000000000300000002000000020000000000000000000000706b7331000000576577f986000000000095dde501000000576577f98600000000a8ed32322e0300000007000000000000576577f986000000000000000002000000020000000200000000000000706b73317332000000576577f986000000000095dde501000000576577f98600000000a8ed3232300300000007000000000000576577f986000000000000000002000000020000000400000000000000706b733273337333000000576577f986000000000095dde5030000000000855c3400aef2a602eab0c70000000000855c3400000000a8ed3232000000576577f98600000000a8ed32323203000000070000000000000000855c34000000000000000002000000040000000400000000000000706b7333733373337333000000576577f986000000000095dde501000000576577f98600000000a8ed32322e04000000070000000000000000000000000000000000000002000000040000000000000000000000706b73337333000000 01000000000000000100000000ace031dcad9ae66ee0cfebc6bd9dbb0d0b9437c658ef7a6b4b91575b556561776fb4ae7ee88e74a0f3b3f8ff9b33000e3dc494b9a69d5b3f2b48eeab5dcf8d01000000d4bdb6ac50af1cc093373e2aedeb034c70f95c59525a31c4b95673ef8260f59800000000674b47a214441eb0aa4e193b161a041c9eff9835399afcee6a2159c9b7c6e9fd0001000000 0000000000000000010000000000eab0c7000100000001000222a1d69589d2f1d748f1158ff870a459bc61de89c612b8fac360b1d91ecbcfed0100 0100000001000000000000000105737973696f01000000000000008e015055425f424c535f69346850716c6b6f434a6167584c426972697064543046336437365a656f494b57555f453249414f2d426648796e6d4377424a4f7137546b7a417272592d3841714f6c6242464970714961384d71794f76355671735a6b4d6d5f6c7643714e6c73765362414842537276567652386f4a437a514f52765a356d466a585f6d6753653834543477 diff --git a/unittests/ed25519_intrinsic_tests.cpp b/unittests/ed25519_intrinsic_tests.cpp index 904f6f788d..b265f03b39 100644 --- a/unittests/ed25519_intrinsic_tests.cpp +++ b/unittests/ed25519_intrinsic_tests.cpp @@ -162,8 +162,8 @@ struct stress_call { BOOST_AUTO_TEST_SUITE(ed25519_intrinsic_tests) -/// Published vectors, binary/empty messages, unaligned spans, and context-free execution. -BOOST_FIXTURE_TEST_CASE(raw_messages_and_context_free, ed25519_tester) { +/// Published vectors, binary/empty messages and unaligned spans. +BOOST_FIXTURE_TEST_CASE(raw_messages, ed25519_tester) { for (size_t i = 0; i < rfc_vectors.size(); ++i) verify(known_input(i), verification_success, true); bytes binary(byte_values); @@ -174,12 +174,6 @@ BOOST_FIXTURE_TEST_CASE(raw_messages_and_context_free, ed25519_tester) { auto hex_message = known_input(1); hex_message.message = decode("3732"); // ASCII "72" differs from the signed byte 0x72. verify(hex_message, verification_failure); - auto trx = transaction(clean_action, {}); - trx.signatures.clear(); - trx.context_free_actions.emplace_back(vector{}, contract_account, verify_action, - fc::raw::pack(std::make_tuple(known_input(), verification_success, false))); - trx.sign(get_private_key(contract_account, "active"), control->get_chain_id()); - BOOST_REQUIRE(push_transaction(trx)->receipt); } /// Consensus acceptance goldens also run through a deployed contract, including wrong-sized signatures. diff --git a/unittests/intrinsic_probe_tests.cpp b/unittests/intrinsic_probe_tests.cpp index 8ae2ecdbd9..0b731cedb5 100644 --- a/unittests/intrinsic_probe_tests.cpp +++ b/unittests/intrinsic_probe_tests.cpp @@ -535,17 +535,6 @@ BOOST_FIXTURE_TEST_CASE(get_action_bad, intrinsic_probe_fixture) { BOOST_FIXTURE_TEST_CASE(read_transaction_ok, intrinsic_probe_fixture) { BOOST_CHECK_NO_THROW(t.run("rtxok"_n)); } BOOST_FIXTURE_TEST_CASE(read_transaction_zero, intrinsic_probe_fixture) { BOOST_CHECK_NO_THROW(t.run("rtxsm"_n)); } -// get_context_free_data is registered context-free-only -// (REGISTER_ALIGNED_CF_ONLY_HOST_FUNCTION). Driven from a regular action its -// context_free_check precondition fires before the body and throws -// unaccessible_api, exactly like the privileged_check rejection probes. Pins -// that the CF-only gate -- which wraps the same aligned_span adaptation -// the pointer->span cleanup reworks -- rejects the call before touching the -// span. -BOOST_FIXTURE_TEST_CASE(get_context_free_data_non_cf, intrinsic_probe_fixture) { - BOOST_CHECK_THROW(t.run("gcfdcf"_n), unaccessible_api); -} - BOOST_FIXTURE_TEST_CASE(send_inline_empty, intrinsic_probe_fixture) { BOOST_CHECK_THROW(t.run("sinlem"_n), fc::exception); } diff --git a/unittests/intrinsic_value_tests.cpp b/unittests/intrinsic_value_tests.cpp index 1c53373212..2a2d42c548 100644 --- a/unittests/intrinsic_value_tests.cpp +++ b/unittests/intrinsic_value_tests.cpp @@ -457,7 +457,6 @@ BOOST_FIXTURE_TEST_CASE(packed_arguments_reject_trailing_bytes, value_tester) { const auto& gpo = control->get_global_properties(); const vector contract_active{{contract, config::active_name}}; const action self_action{contract_active, contract, "x"_n, bytes{}}; - const action free_action{vector{}, contract, "x"_n, bytes{}}; const bytes wasm_config_bytes = fc::raw::pack(gpo.wasm_configuration); const auto versioned_wasm_parameters = [&](uint32_t version) { @@ -470,7 +469,6 @@ BOOST_FIXTURE_TEST_CASE(packed_arguments_reject_trailing_bytes, value_tester) { BOOST_CHECK_THROW(run(set_wasm_parameters.with(versioned_wasm_parameters(1))), wasm_config_unknown_version); const packed_case send_inline{"send_inline", one_span_signature, one_span_call}; - const packed_case send_context_free_inline{"send_context_free_inline", one_span_signature, one_span_call}; const packed_case set_blockchain_parameters{"set_blockchain_parameters_packed", one_span_signature, one_span_call}; const packed_case set_parameters{"set_parameters_packed", one_span_signature, one_span_call}; @@ -500,7 +498,6 @@ BOOST_FIXTURE_TEST_CASE(packed_arguments_reject_trailing_bytes, value_tester) { const std::vector> cases{ {send_inline, pack_with_junk(self_action)}, - {send_context_free_inline, pack_with_junk(free_action)}, {set_wasm_parameters, wasm_parameters}, {set_blockchain_parameters, pack_with_junk(blockchain_parameters)}, {set_parameters, pack_with_junk(no_ids)}, @@ -520,10 +517,8 @@ BOOST_FIXTURE_TEST_CASE(packed_arguments_reject_trailing_bytes, value_tester) { // The loop above would also pass against a check that refused everything, so each argument has to read at its exact // size. The inline actions go to other_account, as a contract sending itself this call would repeat it forever. const action target_action{contract_active, other_account, "x"_n, bytes{}}; - const action free_target_action{vector{}, other_account, "x"_n, bytes{}}; const std::vector> exact_cases{ {send_inline, fc::raw::pack(target_action)}, - {send_context_free_inline, fc::raw::pack(free_target_action)}, {set_wasm_parameters, versioned_wasm_parameters(0)}, {set_blockchain_parameters, fc::raw::pack(blockchain_parameters)}, {set_parameters, fc::raw::pack(no_ids)}, @@ -578,6 +573,11 @@ BOOST_FIXTURE_TEST_CASE(authorization_arguments_reject_trailing_bytes, value_tes BOOST_CHECK_THROW(run(check_authorization(fc::raw::pack(with_extension), empty_list, empty_list)), invalid_transaction_extension); + transaction with_context_free_action; + with_context_free_action.context_free_actions.emplace_back(vector{}, contract, ""_n, bytes{}); + BOOST_CHECK_EXCEPTION(run(check_authorization(fc::raw::pack(with_context_free_action), empty_list, empty_list)), + transaction_exception, fc_exception_message_is("context-free actions are not supported")); + const auto check_permission = [&](const bytes& keys, const bytes& permissions) { bytes data = keys; data.insert(data.end(), permissions.begin(), permissions.end()); diff --git a/unittests/kv_intrinsic_probe_tests.cpp b/unittests/kv_intrinsic_probe_tests.cpp index 7bb8b3b5ba..b70e88459c 100644 --- a/unittests/kv_intrinsic_probe_tests.cpp +++ b/unittests/kv_intrinsic_probe_tests.cpp @@ -25,7 +25,6 @@ static const name first_account = "aaaprobe"_n; // Sorts above every account: the largest name an account can have, since a 13th character is refused. static const name last_account = "zzzzzzzzzzzz"_n; static const name edge_account = "kvedge"_n; -static const name cf_account = "kvcfa"_n; // The first and last bytes of a contract with one page of memory, and a 4-byte size output that just fits. static constexpr uint32_t page_size = 64 * 1024; @@ -85,74 +84,17 @@ enum class kv_edge_call : uint32_t { key_span, value_span, get_output, read_key_buffer, read_value_buffer, read_first_size, read_second_size, pri_span }; -// Calls the KV intrinsic the action data names, one branch per intrinsic in declaration order. Id 19 calls nothing, and -// proves the module runs. Every argument is harmless, so only the context-free check can stop a call. -static constexpr char kv_context_free_wast[] = R"=====( -(module - (import "env" "read_action_data" (func $read_action_data (param i32 i32) (result i32))) - (import "env" "kv_set" (func $kv_set (param i32 i64 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_erase" (func $kv_erase (param i32 i32 i32) (result i32))) - (import "env" "kv_get" (func $kv_get (param i32 i64 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_store" (func $kv_idx_store (param i32 i64 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_update" (func $kv_idx_update (param i32 i64 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_erase" (func $kv_idx_erase (param i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_it_create" (func $kv_it_create (param i32 i64 i32 i32 i32 i32) (result i32))) - (import "env" "kv_it_next" (func $kv_it_next (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_it_prev" (func $kv_it_prev (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_it_lower_bound" (func $kv_it_lower_bound (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_it_read" (func $kv_it_read (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_it_destroy" (func $kv_it_destroy (param i32))) - (import "env" "kv_idx_create" (func $kv_idx_create (param i32 i64 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_next" (func $kv_idx_next (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_prev" (func $kv_idx_prev (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_lower_bound" (func $kv_idx_lower_bound (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_read" (func $kv_idx_read (param i32 i32 i32 i32 i32 i32 i32) (result i32))) - (import "env" "kv_idx_destroy" (func $kv_idx_destroy (param i32))) - (import "env" "kv_idx_find" (func $kv_idx_find (param i32 i64 i32 i32 i32 i32) (result i32))) - (memory 1) - (export "memory" (memory 0)) - (func (export "apply") (param i64 i64 i64) - (local $call i32) - (drop (call $read_action_data (i32.const 0) (i32.const 4))) - (set_local $call (i32.load (i32.const 0))) - (if (i32.eq (get_local $call) (i32.const 0)) (then (drop (call $kv_set (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 0))))) - (if (i32.eq (get_local $call) (i32.const 1)) (then (drop (call $kv_erase (i32.const 1) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 2)) (then (drop (call $kv_get (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 0) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 3)) (then (drop (call $kv_idx_store (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 4)) (then (drop (call $kv_idx_update (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 5)) (then (drop (call $kv_idx_erase (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 6)) (then (drop (call $kv_it_create (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 7)) (then (drop (call $kv_it_next (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 8)) (then (drop (call $kv_it_prev (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 9)) (then (drop (call $kv_it_lower_bound (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 10)) (then (drop (call $kv_it_read (i32.const 0) (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 11)) (then (call $kv_it_destroy (i32.const 0)))) - (if (i32.eq (get_local $call) (i32.const 12)) (then (drop (call $kv_idx_create (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1))))) - (if (i32.eq (get_local $call) (i32.const 13)) (then (drop (call $kv_idx_next (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 14)) (then (drop (call $kv_idx_prev (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 15)) (then (drop (call $kv_idx_lower_bound (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 16)) (then (drop (call $kv_idx_read (i32.const 0) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1) (i32.const 16) (i32.const 20))))) - (if (i32.eq (get_local $call) (i32.const 17)) (then (call $kv_idx_destroy (i32.const 0)))) - (if (i32.eq (get_local $call) (i32.const 18)) (then (drop (call $kv_idx_find (i32.const 1) (i64.const 1) (i32.const 8) (i32.const 1) (i32.const 8) (i32.const 1))))) - ) -) -)====="; - -// The intrinsic count, and the id that makes kv_context_free_wast call nothing. -static constexpr uint32_t kv_intrinsic_count = 19; - // Shared tester: deploy kv_intrinsic_probe once, reuse across cases. // Each action uses distinct table_ids/keys so shared state is safe. struct kv_probe_shared_tester : validating_tester { kv_probe_shared_tester() { - create_accounts({probe_account, notified_a, notified_b, first_account, last_account, edge_account, cf_account}); + create_accounts({probe_account, notified_a, notified_b, first_account, last_account, edge_account}); produce_block(); for (name account : {probe_account, notified_a, notified_b, first_account, last_account}) { set_code(account, test_contracts::kv_intrinsic_probe_wasm()); set_abi(account, test_contracts::kv_intrinsic_probe_abi().c_str()); } set_code(edge_account, kv_edge_wast); - set_code(cf_account, kv_context_free_wast); produce_block(); } @@ -191,19 +133,6 @@ struct kv_probe_tester { t.produce_block(); } - /// A context-free action that makes call `id` of kv_context_free_wast, and the ordinary action a transaction needs. - void context_free_call(uint32_t id) { - signed_transaction trx; - trx.context_free_actions.emplace_back(vector{}, cf_account, "call"_n, fc::raw::pack(id)); - trx.context_free_data.emplace_back(); - trx.actions.emplace_back(vector{{cf_account, config::active_name}}, cf_account, "nothing"_n, - fc::raw::pack(kv_intrinsic_count)); - t.set_transaction_headers(trx); - trx.sign(t.get_private_key(cf_account, "active"), t.control->get_chain_id()); - t.push_transaction(trx); - t.produce_block(); - } - /// What KV holds for the accounts an abort test compares. abrtseed ran first, so abort_work has rows to change. kv_write_driver::kv_state abort_seeded_state(name other = notified_b) { for (name account : {probe_account, notified_a}) { @@ -961,19 +890,9 @@ BOOST_FIXTURE_TEST_CASE(refused_ram_bill_in_a_notified_contract_undoes_both_cont } // ============================================================================= -// The ends of contract memory, and context-free actions. Both need WAST. +// The ends of contract memory. It needs WAST. // ============================================================================= -BOOST_FIXTURE_TEST_CASE(context_free_action_cannot_call_any_kv_intrinsic, kv_probe_tester) { - BOOST_CHECK_NO_THROW(context_free_call(kv_intrinsic_count)); - for (uint32_t call = 0; call < kv_intrinsic_count; ++call) { - BOOST_TEST_CONTEXT("call " << call) { - BOOST_CHECK_EXCEPTION(context_free_call(call), unaccessible_api, - fc_exception_message_is("only context free api's can be used in this context")); - } - } -} - // A span may end exactly at the end of memory. The first byte past it traps, however the span gets there. BOOST_FIXTURE_TEST_CASE(spans_stop_at_the_end_of_memory, kv_probe_tester) { edge(kv_edge_call::value_span, 64, 1); // the row kv_edge_call's reads find diff --git a/unittests/noop_tests.cpp b/unittests/noop_tests.cpp index ea62967d34..7d1048af44 100644 --- a/unittests/noop_tests.cpp +++ b/unittests/noop_tests.cpp @@ -92,15 +92,14 @@ BOOST_FIXTURE_TEST_CASE(inline_and_notify_to_account_without_contract, sysio::te BOOST_REQUIRE_EQUAL(limits.get_account_cpu_limit_ex(noop).first.max, 0); BOOST_REQUIRE_EQUAL(limits.get_account_net_limit_ex(noop).first.max, 0); - // mixedord notifies obs, sends a context-free inline to cfat and a regular inline to inlt. - auto trace = push_action(source, "mixedord"_n, source, - mutable_variant_object()("obs", noop)("inlt", noop)("cfat", noop)); + // inlnotify sends an inline action to inlt and notifies obs. + auto trace = push_action(source, "inlnotify"_n, source, mutable_variant_object()("obs", noop)("inlt", noop)); BOOST_REQUIRE(trace->receipt); const auto reached_noop = std::ranges::count_if(trace->action_traces, [&](const action_trace& at) { return at.receiver == noop && at.receipt.has_value(); }); - BOOST_TEST(reached_noop == 3); + BOOST_TEST(reached_noop == 2); BOOST_TEST(limits.get_account_cpu_limit_ex(noop).first.used == 0); BOOST_TEST(limits.get_account_net_limit_ex(noop).first.used == 0); diff --git a/unittests/restart_chain_tests.cpp b/unittests/restart_chain_tests.cpp index 2fd40d9571..43dde3b564 100644 --- a/unittests/restart_chain_tests.cpp +++ b/unittests/restart_chain_tests.cpp @@ -41,16 +41,7 @@ struct dummy_action { int32_t c; // 4 }; -struct cf_action { - static sysio::chain::name get_name() { return "cfaction"_n; } - static sysio::chain::name get_account() { return "testapi"_n; } - - uint32_t payload = 100; - uint32_t cfd_idx = 0; // context free data index -}; - FC_REFLECT(dummy_action, (a)(b)(c)) -FC_REFLECT(cf_action, (payload)(cfd_idx)) #define DUMMY_ACTION_DEFAULT_A 0x45 #define DUMMY_ACTION_DEFAULT_B 0xab11cd1244556677 @@ -273,29 +264,16 @@ BOOST_AUTO_TEST_CASE_TEMPLATE( test_light_validation_restart_from_block_log, T, chain.set_code("testapi"_n, test_contracts::test_api_wasm()); chain.produce_block(); - cf_action cfa; signed_transaction trx; - action act({}, cfa); - trx.context_free_actions.push_back(act); - trx.context_free_data.emplace_back(fc::raw::pack(100)); // verify payload matches context free data - // add a normal action along with cfa dummy_action da = {DUMMY_ACTION_DEFAULT_A, DUMMY_ACTION_DEFAULT_B, DUMMY_ACTION_DEFAULT_C}; - action act1(vector{{"testapi"_n, config::active_name}}, da); - trx.actions.push_back(act1); + trx.actions.emplace_back(vector{{"testapi"_n, config::active_name}}, da); chain.set_transaction_headers(trx); - // run normal passing case - auto sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); + trx.sign(chain.get_private_key("testapi"_n, "active"), chain.get_chain_id()); auto trace = chain.push_transaction(trx); chain.produce_block(); BOOST_REQUIRE(trace->receipt); - BOOST_CHECK_EQUAL(2u, trace->action_traces.size()); - - BOOST_CHECK(trace->action_traces.at(0).context_free); // cfa - BOOST_CHECK_EQUAL("test\n", trace->action_traces.at(0).console); // cfa executed - - BOOST_CHECK(!trace->action_traces.at(1).context_free); // non-cfa - BOOST_CHECK_EQUAL("", trace->action_traces.at(1).console); + BOOST_CHECK_EQUAL(1u, trace->action_traces.size()); chain.close(); @@ -318,19 +296,12 @@ BOOST_AUTO_TEST_CASE_TEMPLATE( test_light_validation_restart_from_block_log, T, BOOST_REQUIRE(other_trace); BOOST_REQUIRE(other_trace->receipt); BOOST_CHECK(*trace->receipt == *other_trace->receipt); - BOOST_CHECK_EQUAL(2u, other_trace->action_traces.size()); - - auto check_action_traces = [](const auto& t, const auto& ot) { - BOOST_CHECK_EQUAL("", ot.console); // cfa not executed for replay - BOOST_CHECK_EQUAL(t.receipt->global_sequence, ot.receipt->global_sequence); - BOOST_CHECK_EQUAL(t.digest_savanna(), ot.digest_savanna()); - }; - - BOOST_CHECK(other_trace->action_traces.at(0).context_free); // cfa - check_action_traces(trace->action_traces.at(0), other_trace->action_traces.at(0)); + BOOST_REQUIRE_EQUAL(1u, other_trace->action_traces.size()); - BOOST_CHECK(!other_trace->action_traces.at(1).context_free); // non-cfa - check_action_traces(trace->action_traces.at(1), other_trace->action_traces.at(1)); + const auto& at = trace->action_traces.at(0); + const auto& oat = other_trace->action_traces.at(0); + BOOST_CHECK_EQUAL(at.receipt->global_sequence, oat.receipt->global_sequence); + BOOST_CHECK_EQUAL(at.digest_savanna(), oat.digest_savanna()); } BOOST_AUTO_TEST_SUITE_END() diff --git a/unittests/snapshots/blocks.index b/unittests/snapshots/blocks.index index d63a8344a7d531bde9bbdb718176c05fb4a525d2..111411689bce9b936fc5928d7c3d0c067fcb13cc 100644 GIT binary patch literal 232 zcmcc500Hrg5L%H5LQ8Fe&=OlA5=*y1Xrmnv`U{lawiCjy*ae}jc0=etPDWe#Sls zt+gLQzk$;04nX*fhaq&xQ3x$|3_{<4(zA|3_%SCSwA@Ju{Qyemo`&#$oq^Ep=O8r4 HB?t`w?t&n| diff --git a/unittests/snapshots/blocks.log b/unittests/snapshots/blocks.log index eca412edac57028980f77dd375e9091d70e7cc3a..3737a29a88639d9877f452143aa81591b4c5e95c 100644 GIT binary patch delta 8374 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 delta 52128 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≤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
QZftC5JbpPzvag9Rs8Rg`Q2rj@`IWI5_bI6F!e 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 diff --git a/unittests/state_history_tests.cpp b/unittests/state_history_tests.cpp index bb0203ed9e..26865d1834 100644 --- a/unittests/state_history_tests.cpp +++ b/unittests/state_history_tests.cpp @@ -1150,7 +1150,7 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(test_splitted_log, T, state_history_testers) { chain.produce_blocks(49, true); deploy_test_api(chain); - auto cfd_trace = push_test_cfd_transaction(chain); + push_test_dummy_transaction(chain); chain.produce_block(); chain.produce_blocks(99, true); @@ -1610,7 +1610,6 @@ BOOST_AUTO_TEST_CASE(test_trace_abi_roundtrip) { BOOST_CHECK_EQUAL(at["action_ordinal"].as_uint64(), (uint64_t)cpp_at.action_ordinal); BOOST_CHECK_EQUAL(at["creator_action_ordinal"].as_uint64(), (uint64_t)cpp_at.creator_action_ordinal); BOOST_CHECK_EQUAL(at["receiver"].as_string(), cpp_at.receiver.to_string()); - BOOST_CHECK_EQUAL(at["context_free"].as_bool(), cpp_at.context_free); BOOST_CHECK_EQUAL(at["elapsed"].as_int64(), 0); // 0 in non-debug mode // action fields diff --git a/unittests/sysio_system_tester.hpp b/unittests/sysio_system_tester.hpp index 324f69f51c..c11fc7d460 100644 --- a/unittests/sysio_system_tester.hpp +++ b/unittests/sysio_system_tester.hpp @@ -126,8 +126,6 @@ class sysio_system_tester : public validating_tester { ("target_block_net_usage_pct", 10 + n ) ("max_transaction_net_usage", 1000000 + n ) ("net_usage_leeway", 500 + n ) - ("context_free_discount_net_usage_num", 1 + n ) - ("context_free_discount_net_usage_den", 100 + n ) ("max_block_cpu_usage", 10000000 + n ) ("target_block_cpu_usage_pct", 10 + n ) ("max_transaction_cpu_usage", 1000000 + n ) diff --git a/unittests/system_host_tests.cpp b/unittests/system_host_tests.cpp index cda91a7b1f..4fc5847461 100644 --- a/unittests/system_host_tests.cpp +++ b/unittests/system_host_tests.cpp @@ -222,9 +222,9 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(chain_config_packed_stability, T, validating_teste // Verify packed size is stable. // If this changes, the packed WASM intrinsic format has changed. - // 76 = 8 (uint64) + 9x4 (uint32) + 4 (lifetime) + 4 (delay) + 4 (inline_size) + // 68 = 8 (uint64) + 7x4 (uint32) + 4 (lifetime) + 4 (delay) + 4 (inline_size) // + 2 (inline_depth) + 2 (auth_depth) + 4x4 (action_return, kv_key, kv_value, kv_sec_key) - BOOST_CHECK_EQUAL(packed.size(), 76u); + BOOST_CHECK_EQUAL(packed.size(), 68u); // Round-trip: unpack and verify all fields match chain_config_v0 unpacked; @@ -235,8 +235,6 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(chain_config_packed_stability, T, validating_teste BOOST_CHECK_EQUAL(unpacked.target_block_net_usage_pct, v0.target_block_net_usage_pct); BOOST_CHECK_EQUAL(unpacked.max_transaction_net_usage, v0.max_transaction_net_usage); BOOST_CHECK_EQUAL(unpacked.net_usage_leeway, v0.net_usage_leeway); - BOOST_CHECK_EQUAL(unpacked.context_free_discount_net_usage_num, v0.context_free_discount_net_usage_num); - BOOST_CHECK_EQUAL(unpacked.context_free_discount_net_usage_den, v0.context_free_discount_net_usage_den); BOOST_CHECK_EQUAL(unpacked.max_block_cpu_usage, v0.max_block_cpu_usage); BOOST_CHECK_EQUAL(unpacked.target_block_cpu_usage_pct, v0.target_block_cpu_usage_pct); BOOST_CHECK_EQUAL(unpacked.max_transaction_cpu_usage, v0.max_transaction_cpu_usage); diff --git a/unittests/test-contracts/action_order_test/action_order_test.abi b/unittests/test-contracts/action_order_test/action_order_test.abi index 17eb953491..9ed2625a60 100644 --- a/unittests/test-contracts/action_order_test/action_order_test.abi +++ b/unittests/test-contracts/action_order_test/action_order_test.abi @@ -17,24 +17,6 @@ } ] }, - { - "name": "mixedord", - "base": "", - "fields": [ - { - "name": "obs", - "type": "name" - }, - { - "name": "inlt", - "type": "name" - }, - { - "name": "cfat", - "type": "name" - } - ] - }, { "name": "nestedcall", "base": "", @@ -95,11 +77,6 @@ "type": "inlnotify", "ricardian_contract": "" }, - { - "name": "mixedord", - "type": "mixedord", - "ricardian_contract": "" - }, { "name": "nestedcall", "type": "nestedcall", diff --git a/unittests/test-contracts/action_order_test/action_order_test.cpp b/unittests/test-contracts/action_order_test/action_order_test.cpp index cabebdd191..27f9608667 100644 --- a/unittests/test-contracts/action_order_test/action_order_test.cpp +++ b/unittests/test-contracts/action_order_test/action_order_test.cpp @@ -46,7 +46,7 @@ void action_order_test::on_notiffire([[maybe_unused]] name obs) { void action_order_test::inlnotify(name obs, name inlt) { // HEADLINE: schedule the inline FIRST, then the notification. - // Inline is queued in _inline_actions (regular inline phase, phase 4). + // Inline is queued in _inline_actions (inline phase, phase 3). // Notification is queued in _notified (notification phase, phase 2). // Result: notification runs first at execution time, but the action_trace // for the inline appears EARLIER in the action_traces vector because it @@ -75,19 +75,3 @@ void action_order_test::nestedcall(name obs, name inlt) { inline_act.send(obs); } -void action_order_test::mixedord(name obs, name inlt, name cfat) { - // Three host calls in this scheduling order: - // 1. regular inline noop on inlt - // 2. CFA inline noop on cfat - // 3. require_recipient(obs) - // - // Despite that, execution runs phases in fixed order: - // self -> notifications -> CFA inlines -> regular inlines. - // So the obs notification (last scheduled) runs FIRST after self, - // the CFA noop runs second, the regular noop runs LAST. - auto regular_inline = make_unauthed_wrapper(inlt); - regular_inline.send(); - auto cfa_inline = make_unauthed_wrapper(cfat); - cfa_inline.send_context_free(); - require_recipient(obs); -} diff --git a/unittests/test-contracts/action_order_test/action_order_test.hpp b/unittests/test-contracts/action_order_test/action_order_test.hpp index d8f466704e..04834283d5 100644 --- a/unittests/test-contracts/action_order_test/action_order_test.hpp +++ b/unittests/test-contracts/action_order_test/action_order_test.hpp @@ -10,21 +10,19 @@ * 1. The receiver's own action body (the "self" apply). * 2. Every action queued by require_recipient(), in FIFO order * (the "notification phase"). - * 3. Every action queued by send_context_free_inline(), in FIFO order - * (the "CFA inline phase"). - * 4. Every action queued by send_inline(), in FIFO order - * (the "regular inline phase"). + * 3. Every action queued by send_inline(), in FIFO order + * (the "inline phase"). * * As a diagram: * - * +--------+ +---------------+ +-------------+ +-----------------+ - * | self | -> | notifications | -> | CFA inlines | -> | regular inlines | - * | | | FIFO | | FIFO | | FIFO | - * +--------+ +---------------+ +-------------+ +-----------------+ - * phase 1 phase 2 phase 3 phase 4 + * +--------+ +---------------+ +-----------------+ + * | self | -> | notifications | -> | inlines | + * | | | FIFO | | FIFO | + * +--------+ +---------------+ +-----------------+ + * phase 1 phase 2 phase 3 * * Crucially, action_ordinal is the SCHEDULE order (the order in which - * require_recipient / send_*_inline host calls were issued), while + * require_recipient / send_inline host calls were issued), while * global_sequence is the EXECUTION order (assigned only when an action's * receipt is built, after that action has actually run). * @@ -40,7 +38,7 @@ * assumed their notification handler would observe the post-inline state. * * ---------------------------------------------------------------------------- - * All six cases at a glance, in the EOSIO PR #6897 trace-tree notation: + * All five cases at a glance, in the EOSIO PR #6897 trace-tree notation: * * (act.account::act.name -> receiver) [N] * || @@ -109,20 +107,6 @@ * ||===> (carol::notifyme -> bob) [4] * * - * Case 6 - CFA inline + regular inline + notification (mixedord) - - * TRIPLE divergence: - * alice body : send_inline(noop on carol); // scheduled 1st - * send_context_free_inline(noop on dave); // scheduled 2nd - * require_recipient(bob); // scheduled 3rd - * - * (alice::mixedord -> alice) [1] - * || - * ||===> (carol::noop -> carol) [4] <-- scheduled 1st, runs LAST - * || - * ||===> (dave::noop -> dave) [3] <-- scheduled 2nd, runs 3rd - * || - * ||===> (alice::mixedord -> bob) [2] <-- scheduled 3rd, runs 2nd - * * ---------------------------------------------------------------------------- * * The 6 actions defined below drive unittests/action_ordering_tests.cpp @@ -134,7 +118,7 @@ class [[sysio::contract]] action_order_test : public sysio::contract { using sysio::contract::contract; /** - * @brief Silent stub. Used as the target of inline / CFA inline calls. + * @brief Silent stub. Used as the target of inline calls. * * Deliberately does nothing so the resulting action_trace records only * the apply itself (no further notifications or inlines), keeping @@ -196,7 +180,7 @@ class [[sysio::contract]] action_order_test : public sysio::contract { * +---------------------+ * | * v - * +---------------------+ phase 4 (regular inlines) + * +---------------------+ phase 3 (inlines) * | noop inline (ord 2) | gseq=g0+2 <-- 3rd to run, ordinal 2 * +---------------------+ * @@ -265,56 +249,6 @@ class [[sysio::contract]] action_order_test : public sysio::contract { */ [[sysio::action]] void nestedcall(sysio::name obs, sysio::name inlt); - /** - * @brief CFA-inline runs BEFORE regular inline, regardless of schedule. - * - * Body, in order: - * 1. send_inline(noop on inlt) // ordinal +1 - * 2. send_context_free_inline(noop on cfat) // ordinal +2 (CFA) - * 3. require_recipient(obs) // ordinal +3 - * - * Execution order, per apply_context::exec(): - * self -> notifications -> CFA inlines -> regular inlines. - * - * So the chain runs: source self, obs notification, CFA noop on cfat, - * regular noop on inlt. Trace shape: - * - * index 0: source self ord=1 gseq=g0 - * index 1: regular noop on inlt ord=2 gseq=g0+3 (LAST executed) - * index 2: CFA noop on cfat ord=3 gseq=g0+2 - * index 3: notification on obs ord=4 gseq=g0+1 (FIRST after self) - * - * source body (mixedord) - * | - * v - * +-----------------------+ phase 1 - * | self (ord 1) | gseq=g0 - * +-----------------------+ - * | - * v - * +-----------------------+ phase 2 (notifications) - * | obs notify (ord 4) | gseq=g0+1 <-- scheduled LAST, ran 2nd - * +-----------------------+ - * | - * v - * +-----------------------+ phase 3 (CFA inlines) - * | cfa noop (ord 3) | gseq=g0+2 - * +-----------------------+ - * | - * v - * +-----------------------+ phase 4 (regular inlines) - * | inline noop (ord 2) | gseq=g0+3 <-- scheduled FIRST, ran LAST - * +-----------------------+ - * - * action_traces VECTOR order: [ self, inline, cfa, notify ] - * action_traces EXEC order: [ self, notify, cfa, inline ] (tail reversed) - * - * This is a TRIPLE divergence: every non-self trace's gseq disagrees - * with its ordinal. It also encodes the (often forgotten) invariant - * that CFA inlines run BEFORE regular inlines, never alongside them. - */ - [[sysio::action]] void mixedord(sysio::name obs, sysio::name inlt, sysio::name cfat); - /** * @brief Notification handler for notiffire. * diff --git a/unittests/test-contracts/action_order_test/action_order_test.wasm b/unittests/test-contracts/action_order_test/action_order_test.wasm index 0eca30291f858ce9e9b50f44ff9c181eba30e356..7960f8373685751b6244f475c91fe91bc5244a78 100755 GIT binary patch delta 1221 zcma)6J!}+56n<}J?rv{q_ip^d*&Js)w?5-_2%t#LVG;p1MlnAwNGu^y@sm_p2{189 z75T1;Tw;cTKMM*9DkKCHSi+dbHARGIfCz~yO@y3ONY0x*3nc!;?B2Y2v+w)f_hz2% zkKyYB5{^%wKmfo!;hY>Tu$dV+#%E||^XSbTo}F7=H!&PT&ZF1Mdcw=+^URl0NH>@p zqCFS}fym$#B4#)OW=p(@rnLmJ3Fhp>wy{6qS4Xz_cl%=jO3Gi5H(5hN2nLGM&>XYZ z=f%k-_EkHQQ1XS%7&7NwY{3%h#ht@d!VBzYgQCD72C~{)To!~d<%9*@dkcjUlhMD4H1&A%^8)bm`o*6!*-ua zYMaX>ggOeS!O4gS$3vjjq_d)Up2F;7wF@`jUe|FHalnac4wdP;2@TSB%}-}LYvkWZ zE476+9HWNGkb3UzquJQ%>eVar5AI!@Zys{@Io4|3y7TDz%O{tbKZKb2EgFBGpC_NC z{?fwJyDok*%n&824OAN8g4VS)A_}wzy9R%*&<7W=an1Iw*}gTq-dRdWV`<^ZUdm@+ r3{{S{osPG8s057U6-`@HL9o@$ojtOocWFp%Qe delta 1820 zcma)7&2Jk;6rVRUo2)&%_9P^!aZNheY*GiD;DDPC5YP!~s#HicmAD~-2|>+9I3+O^ zs!*H*s<@$O;6Nd$NI8H&C{;nC1u2G8C6G!a4!u;IIPrDh4+wA8PTQ1Ju(JGi-^Xu$ z@6B&^H+s(x2vS~t6$l}4BDE&QI(cnnWre&*?H{wZ^jk=*O~2iqS)QxBJTtpksm{Go zoq1(xZf@+0B{%(Xz5}#(5rPK zYDCw+YZx;Q!^ca>Z^8m6(i2O-YV@cgKG7sCH2&x5=UNdh&jt_$bOfIo-VGfvMIxP! z^qJQJGD0`BxdfdUH`idY{UWBR*sIA?Xwj``rau`FA2jKSfj4zPkNKcz8zCMMLJ`q| zMN*g-=#fkt@}PMt19HqKidwJ^45rLyv=`dVb$TLmAErQ_hK&@kDfu{Mm>qzWnPQJY zzj=#ILZA789Y)XJtdwh0APE*Si_I-IQ`};6#D1EO#S8BnG+bv6G%DRYD!sV!cdmkr zqS}q5rG?DH0Al7kA1N521lLWOAt!5@IU%-CabAL9v+Z=%QbIAUqL7I50JPRiba5fz zAyK$uq-CVBGklmJqf9BT=qSs?A=!pzPuRsU8)cX*v&}|%p1Of!sc_|tP)|8BC6FTe zRl}c-17RFMz@pit-OUjn#Ke1zcphnkt`p0<3}9)?g#bc3U7|apJaR_;$Vsav{b!v> zY72OTd(>x9d4NMfc8V;>*2Y5UvP|Q>L_adc3Tgguo>0kvVplwi3|IM-)kHjAiNayX zVBM^`!;myR$wTIYmVB-|tJnZ@F>~ z5n5=plfiaEYzO5gcNdnsK6%^c?)p&XHqUm0wF3;3?Xd5^2dQEdn%@#fVkXZ(x2YtD zI^;gNW;0n54`vl^F3Lk5Hh(4i3J+!RTuH04F;p2=;adzZuo@sTP4LBGWmOHR^vzK* z4taAK;f3mB9rPz!$*ykXcTqK9g_kILL zGnhK);)LP^b29ZL6feJ%ngLt@dF2YXcqLKb3RUs77VlZn%STL6=4xA4Z+>;<{q@>& zR;&|9`Pvs3KD}vb)Apr@&zHXZY2()$7x0-j;+XRDyX&=6zJn(KWG-#bDV^Ba*}1;4 zbth82i9GG&Mk3P157*=PZeJ_*@@#c}v9hdY%azJv bRh=%MMc?by(~C><=gM)2;N%3aD? ds((char*)&buffer, sizeof(buffer)); //20mb is MAX_SIZE_OF_BYTE_ARRAYS that is defined in fc. //we don't use fc in contracts so using hardcode here. - // ID 15 = max_action_return_value_size - ds << unsigned_int(uint32_t(1)) << unsigned_int(uint32_t(15)) << uint32_t(20*1024*1024); + // ID 13 = max_action_return_value_size + ds << unsigned_int(uint32_t(1)) << unsigned_int(uint32_t(13)) << uint32_t(20*1024*1024); set_parameters_packed(buffer, ds.tellp()); vector ret_vec(20*1024*1024, '1'); @@ -64,8 +64,8 @@ class [[sysio::contract]] action_results : public contract { char buffer[12]; datastream ds((char*)&buffer, sizeof(buffer)); - // ID 15 = max_action_return_value_size - ds << unsigned_int(uint32_t(1)) << unsigned_int(uint32_t(15)) << uint32_t(20*1024*1024 + 1); + // ID 13 = max_action_return_value_size + ds << unsigned_int(uint32_t(1)) << unsigned_int(uint32_t(13)) << uint32_t(20*1024*1024 + 1); //trying to set limit too large set_parameters_packed(buffer, ds.tellp()); } diff --git a/unittests/test-contracts/action_results/action_results.wasm b/unittests/test-contracts/action_results/action_results.wasm index 693a2786f06a5e7c42571983ea368ce31188ddd9..5a3439fb297f03d0b88eadfc5af96b8d7a62e4a8 100755 GIT binary patch delta 21 bcmX>meN1}8GEPR`&C5B(nSj)OZgwUBQXmFE delta 21 bcmX>meN1}8GEPSR&C5B(nSj)OZgwUBQbq -#include // raw::{read_transaction, get_action, get_context_free_data} +#include // raw::{read_transaction, get_action} #include // public_key -- decoding the authority returned by get_permission_lower_bound #include // time_point -- the last_updated field of a permission record #include @@ -1189,7 +1189,7 @@ class [[sysio::contract("intrinsic_probe")]] intrinsic_probe : public contract { // validator cost is per-call proportional to the string length. The *_l / // *_message variants use aligned_span with explicit size and // are the path the cleanup PR will keep. Remaining aligned_span - // readers (read_action_data, get_context_free_data, raw::get_action, + // readers (read_action_data, raw::get_action, // raw::read_transaction) document a "size=0 returns required size" contract // that the small-buffer probes here pin in place. // @@ -1322,22 +1322,6 @@ class [[sysio::contract("intrinsic_probe")]] intrinsic_probe : public contract { check( rc > 0, "raw::read_transaction(nullptr, 0) should return required size" ); } - // raw::get_context_free_data is registered context-free-only - // (REGISTER_ALIGNED_CF_ONLY_HOST_FUNCTION). Its context_free_check - // precondition fires BEFORE the host body and SYS_ASSERTs unaccessible_api - // ("this API may only be called from context_free apply") whenever the - // calling apply context is not context free. This probe drives it from a - // regular action, so the gate must throw before the aligned_span - // buffer is ever adapted -- the arguments are deliberately bogus (null - // data, zero length) to prove the rejection is unconditional on the span. - // Mirrors the privileged_check rejection probes (preactnp / setresnp). - [[sysio::action]] - void gcfdcf() { - raw::get_context_free_data( 0, nullptr, 0 ); - check( false, "raw::get_context_free_data from non-context-free apply " - "must throw unaccessible_api" ); - } - // raw::send_inline with empty span -> host tries to unpack and fails. Pins // that a zero-length aligned_span is NOT silently converted to a default // action. diff --git a/unittests/test-contracts/intrinsic_probe/intrinsic_probe.wasm b/unittests/test-contracts/intrinsic_probe/intrinsic_probe.wasm index 2ceefc1862fa91326b67db0e44fb4b2acfc15b01..839c4261502faa3fcbb2fb7c154a6ec177ff799e 100755 GIT binary patch delta 4905 zcmZ`+3s@A_6`nf_xH!8qD9Br9cL5hfK!s&_2?K)iX2CZq3ZijMMBsW1kral^<)GaTulm;avY0s|kvWr+<8A2h4e^T>d^u49gP)y9 zFjt>KEZ`7JgOX6#M|S%Z899kBpbs$`uK1Pt$Kn91+2jG)FpQB0Ymv|Os3Ngo)@R|f zR$s`dL$#=W{wEonss$(Xw4+8tPgNsLi)0Y;kyI(Dq;xIP+CHg}U@#yt-JlXPwTRaZ zEv%w!E%=F%uC2V6s*$5b`o5P9NeKZXn3AkTx)_jxB!5vQ{?T;@LV1BA?Yc6iIpBI!F|)qc$lMHR#(`tJOIFepl7q`soZ*MCUN_R1I?T zn*J8T@Olj#0!^)SH%;mpY0x4qHeY5MGqm7l%T)%?)Pg&rKgSfF81=x+(jv`>Rgdzo zwBUsUcCr++wcy3ptqh*41uu$A;txH7eQ{aT+=?q_gzKRRzDMg*V3y4PvJx_;oD;Y)hdH_T=}2iK!M$=uV}t4Ia_pWt#kO+iHfd z(8Tp=6^fn-Hm3{ldRioE?nqM?v05``nBBoNf2WB*v@h?}j1{5GWRLgD!_|Z?PX9U0-&$@S%4LAG}+H z3}>whqjw!`PFL&pY8Dw%AiMgTF}zs0qg=R)w>ANjaq5n1oVhlg`Y zoVbr_kvN?`&rSaw`FPV1heAG~kiDSj1t08(JuWYLvlF%Ql1vJfkkxRhz{DTD2mdLk z;;-C;@I!bDZWp~p-%A#G5OJM+4xY2Iym(K zG>-6)0Z=`1CEtD@u8mwlrJO}GsJT!yn8bl^F-;O%9Ap20gkv0$bXGo6JW8l9r#QtA zahk|>rI;Q^RnK1G&(vUv?8fze~I_*+g@-~ zBv~FjplRs+SeHxl9jr^~6nyYgqNJNVuISsnkw zcdXogjtaVkzbtoFC6&vsN*DUeE^l$4{u`E6(Z8x^t3rI0uNVxhjv^bNs5-r|x`*QA z;&Wwn5ov^r)i07ZC><3~)fbJjkiWr}Q85S~AC(_q6$GB6|Mi?i#8wCzZ6gDrWb_rp z4dY^ySarJoeTE@-AO}jpRq#hYoUKFkH z^7wjXssf+M6GDQl^h-w1oP?(iT|AwGpk_isSH15~u#iuoeL@OO8EcgFr`Jp(=i#lI zSOa}E6m5fe7EagDhIG`FlXEa^Vha}Vyma7~Vh#@_I`*Z_VIr^k<(w-uaOhX?l_Ck`;{Y;!!MV_rRfggZ_Ot`bnYwIRC|g5 z)J?IImtgahbn+&AiT-rxHMN9Hg9%g9$Yf}oT12M6-_c(JL3NYJNSIfbhQAN@*V)Ni zaI-Fz?1r%Vk)#Rg>Ql)Zu(7_7*x*`yiY_@ofWx&3Fnn5N$xw+`zI{7)t=gSmWwc`# ziI_sSK$+h7c>V5thf!s@_chUB3PateHqf9nC1@C2n`W}6s?ffZ7doN0NvGi5P3Mmm zIE<-aZHVe&Qv#PmX+vHQugGtpsUeZgFM>}Ra+p5>#OaBBQWbu60R8Ioc~9}*ZE#F4 zWU-@R>-5ARuV#5S&ZWz6eYz>U%IJm0b=J~;dE*+J!)Szv84=T}j9&He-6EepJ%8#3 zH(J?tCEuP~2W~WF-~?OcodbuPG8{(HJ6!jW4%IxXIv2fHi9#A|nGxku6KzAha~-Y6 zwjTM0W>VYd{sJ>QjJ?_Ty>GT4?lAUYW6u%FSEUYhrgD1}p)TU?vy|vC2C0FrwcC`) z6s4C3Xe8b8->S|+HnD)&dCX2^wuaeB%#LEVirGqLE0}dKJC<4380M@|Gp<#gb*l3R z)!Cyu2UTak>b$2quQI(?m~B*nO{%k5b)G|ti>`JK<37*q3(Pv1tz*{3Y%#Ni%$72{ zQ&rxmIvZ5ykE*j?b(SiQ3)5$?a67YE%no5Tk=Z`Fz+duQ>qw2x4(EO|sU z34)Om&64*^e2ECc-4y)1xILVZIeqHP=NqO;3!2NEwqW?mmDAkYeT;|p*DCd#eC7cs QwCS3yOV1FW+!l`eAM$UOKL7v# delta 4917 zcmb7IdstLu8b99|E(3>=gK}$R;LLEFQ4vTO?#cnVj3_XOS5QO*Yb+6Cy|itEx}}yT z`li`>+jO;TT{lJ3$ON?uXNt8t~RhI5tELn5hN6Ajs%3B0%++tp%zIE`dRYMwZ!VEyzU!tu=X&>L*tV z)IG?KpuoT)<|$7LbR;kZL09`gW3@ofi~E_6LM`>Kpe*$9b&wjUSPOLBKMjr#4nW|U z!D`y$w15|cRD&-nh}`-fCkKo1aA=5XFkZ``D!83xSE{AHXefkZAvEy&A)d)GL2PIw ziQQlvfp$%y`6L#a6#hWC1-!z-a2ydv7o;=H=^HEHicfMuRAzz_#RRv)1{ho6q41#t z9AqH>LwLFZm0;`xB{*(v#rYt3a@ximSI&{_aC3dGPQk}oq8lbiXQPG4snWLeHTT%x) zIb>FyG-!dUE$5k!hqTn2qQ7KnmzMgIn6vtLWoxhh49-T5Vc18su;b#?B|BeBJuQAG zvtFR3uC{Jx>V;bBDqAAoavRpzvMD)jD`jAMR{rMjS~_eaQ!mm|Hx9qc)JwF~AC5T5 z)Q@YaZzfzuwKGhDHA!X|nizNAZ2w8i&^Jj#p)=oArE_Q8jx6{+SVrX6EcM2&v8X z91aq^o^8kRwQTC*KzJ04%^8N{#vC=16FDXv_qSpT%YEr+nmfMl$TlXa8&km~JD4Oa z_c4?-g+{{O+(geY)X5F#%ua?|Ebn5Le`As-@}kJ2EMx44A19iO_&)sa71$9PqL$?9 z1DJiqNK}9DJyqkenD431Y`1bd=GnPGoDt5Z+dMB#r}wa}$a2UI7Nc;1d9$~*7kyiM z;oEvmzNdV1h_=4J9j~&4*Nl}%Nfvx(k5hK{t{*s&25cZo-c*@yPR&WB5sLD5n0 zE$Spz=qh@Kf29{Hi}AMC3ttz{rKH%AOoqYZ4hj8kam0onB}TL(lFrIUh;Ii3i5UG&s3ZUe$AO6(6}cv?A4gUFahJDL*=YQbw&k%3;Sbh6}%!MmMk<^-IC zVbGJyZd5S3G#J-l`S?8dfENGQOS_?X#Ruyr!Il%7PM_C8KQ~^5m)%aKk#AgAduP*$ z<%+1gPc)$6D{iPb*-Cqiu45?09B~e#xAm)kcM4J_C{y5`K&Qay%=Rp8_;(pCVq$56 zL9+0&-m^|RZot~oM1M)*J@fq&yjz;ccix0Mr4soW!plbT9X~>GSqXEp%SoNwF3YPP z(22W0{y&}Q`cGelzgq&7m(e-@RSBexE%u|%3_+6Jo|L!Vf}fp*rWgy4v!*lt=IudG zE$FET)%()hHz$7!$15@h4syx2aIeBaz5&O?#iR>POdLjoUz-?B-iM&dSX8G~<_FpY zf#>K~kCP&vfYp_DG6Fg)FQ9(elvwDTG_2n^Y;rU?4Ox>HM0Vjq(B_-s;2BXT(Uif|XCg!s$$5)q!~MAd+vEvEoxR;{8t$Bi4*_@)g{g5sNt(XPSJh z7M)T$-*0e+zC7q55tZRMSPChjTUQO>|(MB&LRIa80rd18dTP$=#m2kSYH~xS-;?h&sHm2`8|g5WX6?R$f+O0_$pXYKXQm&!B_TYvF;|kU0=v-Cqq!f$Y77pvVP3H9T#9? zgW2db3}VT3pWnRJUSaScr((CBYZ%(#Gz2pBm3;>`W>#P+v`^1r>U5PWHFrF<``K?e zELxSU`~2>=ubrY2k8SHsYU?xvd4{iix37n~@g ztmE4cU+VYV(y7FD8ip{_gO|3V-f0MC)2(MgO>WYo!MIiv0h#!O>$3Zv5*U86=`uQGpC zncXV0S7lyPnSCmANM+p2-;<1jN8u*oUsT9em3f$9nizeQ(MCq+F6eqj3zRg੆i(|z~-Mw|1{LPO@=#z4zYz^6v zX@In1H}xt>TdF!ep^73%Q&a&FDFkhU^3YaBt%{peib)L^lQwQ2P=E(274-!qI5Tta z?j~#-sUUdSJM+z%Gv7JqyJzm6J4oM~rKcaH-i5b`uR!?X+fbs`ovU{lZld{pyQ!NFf1~XAX`OIwZ-nL}EQ2$Jo|=xhbdu+xJfFEgLNe^sG;U;E+oO|DitRY2 zd0`JNY+K8Zahoo!I2pqy!g;oVot-WpW|vv-{Iu^b$_ncVUnO6O&_05`DA)3QfoN+Y zjK2nl8#w#Er@YkgB7=Z8K`r>FXB6f=lW@5)0sFkekZg+3dH77znb_G4v_befL8UMB zw1`acRHDD0D8r3@JeiGKsiCTc}ZVGkNhaDJ$sH;4xfYjy1I7EiDf)nMyxg> zq=iKe`E&C`qds*Q?yQ`4lxjg6zKX-+@o>0=RnlajtgXhWme-m=5B0%Ifi>{5KMGI9 zTW%;l?7qJ7%>l>QxSnwWy*3v_j*$WP3=vI4D|5j;P8#@Zv9wAuWRA)jXnCDsx<$q? za2&@886rwQn0@!h1H>miC^Ie=uZb(dqRb-&r?WVLfl#}Q@>oz3@A~lS`$hGstUh0W z*3jVXwJF6s#}f3#X#10IjBgBC5kF;@l0?Rsx^ZQoif7U@nYk1MaBJmA&Xm=|9a41q6(fOZdv z(r&9z7A5|#bDnJOuFJWv4rhEhkk~fK_~ffLV>dGPgVtgRvbR*pqQtIC7IRn;Q=J^I z{r4P;vtDoMtV{W(I+PQ1ANMH6fBKbp1!b|h2hPWmeiv%Rku^Ng+D`rO!&Vtb!Hz?a z!YITGARf6IzK-~b)PAm_{SVZ=V$v>v{%||*03Ukkd zv~J#j+%EZW(1?R~OF}dbao8k=MQoSd+=s(Pt%r;7y!Z@= zB@ZqH#em@;BnCwdN16>qT%v=xunoaXdqil`sU??ci@0m=Si%h9#ZXFp2|IS_4NfIt*20{va9~55r zf|oB=t-m02r{JHxQH8&RB2?&sr7HSWRHQ;zYS0-ePlf;VH&yFBLaPO$7D~T$783NE zywUbj1McHq1)lt!V;N-+p{5o3w;HraQQ-nom&BNO#0>E$-)kJF zY`M1_u)ag_Z^g0X=c!eGKe;R>7t(z`YwCe7Z;s}s%*8PaE_cTeB@^{M-I<-d5(p6G*S7J72K;9@#Vvv4wZN5M)Pn+(I4N?M!sXj-~8 z)BUD{WF%rGYmBnWsIn<1=SibKV|y8N04vp>%s8G*!`_FeX;>+B;vJ?b;fx4HkD4m5 zL3@_0Y*E%`N&;3oW6u>~D`S}{+o5SQPG?|0U+*#pv+#5(79xChk@#jk^635)CQYY< zFqJmoxuFecHHcPg;oT8GygxKZ4KRjpp(bKsxOF7O3=8f~_rMQEvdl=@mgDfyP%BJ~ za(H8CJ^X0Ygn{8!IGu7!FMr4R-r==!KDlKKmh833EkXGCmVPitI$$)@3Jqgz9>NbS z6JN;#4~*!rm~DV9W8<(g(hf()EHFmfU}bCwN~0Zc)A$II3QVk{DcC>0-do9r4Arts z2u^gUHT(_n7_%}6acJWk;aPqJ^kfij-TD&C4hl;z;g7Bo-}fpzJ~0sk|3s&ncPQ`4 QoJ=gie||pqqCv>N0C-thz5oCK delta 4479 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 diff --git a/unittests/test-contracts/test_api/test_action.cpp b/unittests/test-contracts/test_api/test_action.cpp index cc6f0e8460..ee168d946d 100644 --- a/unittests/test-contracts/test_api/test_action.cpp +++ b/unittests/test-contracts/test_api/test_action.cpp @@ -53,15 +53,9 @@ void test_action::test_dummy_action() { dummy_action dum13 = act.data_as(); - if ( dum13.b == 200 ) { - // attempt to access context free only api - sysio::get_context_free_data( 0, nullptr, 0 ); - sysio_assert( false, "get_context_free_data() not allowed in non-context free action" ); - } else { - sysio_assert( dum13.a == DUMMY_ACTION_DEFAULT_A, "dum13.a == DUMMY_ACTION_DEFAULT_A" ); - sysio_assert( dum13.b == DUMMY_ACTION_DEFAULT_B, "dum13.b == DUMMY_ACTION_DEFAULT_B" ); - sysio_assert( dum13.c == DUMMY_ACTION_DEFAULT_C, "dum13.c == DUMMY_ACTION_DEFAULT_C" ); - } + sysio_assert( dum13.a == DUMMY_ACTION_DEFAULT_A, "dum13.a == DUMMY_ACTION_DEFAULT_A" ); + sysio_assert( dum13.b == DUMMY_ACTION_DEFAULT_B, "dum13.b == DUMMY_ACTION_DEFAULT_B" ); + sysio_assert( dum13.c == DUMMY_ACTION_DEFAULT_C, "dum13.c == DUMMY_ACTION_DEFAULT_C" ); } void test_action::read_action() { @@ -78,91 +72,6 @@ void test_action::read_action_to_64k() { read_action_data( (void *)((1<<16)-2), action_data_size()); } -void test_action::test_cf_action() { - - sysio::action act = sysio::get_action( 0, 0 ); - cf_action cfa = act.data_as(); - if ( cfa.payload == 100 ) { - // verify read of get_context_free_data, also verifies system api access - int size = sysio::get_context_free_data( cfa.cfd_idx, nullptr, 0 ); - sysio_assert( size > 0, "size determination failed" ); - std::vector cfd( static_cast(size) ); - size = sysio::get_context_free_data( cfa.cfd_idx, &cfd[0], static_cast(size) ); - sysio_assert(static_cast(size) == cfd.size(), "get_context_free_data failed" ); - uint32_t v = sysio::unpack( &cfd[0], cfd.size() ); - sysio_assert( v == cfa.payload, "invalid value" ); - - // verify crypto api access - char test[] = "test"; - auto hash = sha256( test, sizeof(test) ); - sysio::assert_sha256( test, sizeof(test), hash ); - // verify action api access - action_data_size(); - // verify console api access - sysio::print("test\n"); - // verify memory api access - uint32_t i = 42; - memccpy( &v, &i, sizeof(i), sizeof(i) ); - // verify transaction api access - sysio_assert(sysio::transaction_size() > 0, "transaction_size failed"); - // verify softfloat api access - float f1 = 1.0f, f2 = 2.0f; - float f3 = f1 + f2; - sysio_assert( f3 > 2.0f, "Unable to add float."); - // verify context_free_system_api - sysio_assert( true, "verify sysio_assert can be called" ); - - - } else if ( cfa.payload == 200 ) { - // attempt to access non context free api, privileged_api - is_privileged(act.name.value); - sysio_assert( false, "privileged_api should not be allowed" ); - } else if ( cfa.payload == 201 ) { - // attempt to access non context free api, producer_api - get_active_producers( nullptr, 0 ); - sysio_assert( false, "producer_api should not be allowed" ); - } else if ( cfa.payload == 202 ) { - // attempt to access non context free api, kv_api - char key[24]; - make_kv_key("testapi"_n.value, "testapi"_n.value, 0, key); - (void)kv_set( test_table_id, "testapi"_n.value, key, 24, "test", 4, kv_upsert ); - sysio_assert( false, "kv_api should not be allowed" ); - } else if ( cfa.payload == 203 ) { - // attempt to access non context free api, kv_idx_api - uint64_t i = 0; - uint64_t pk = 0; - (void)kv_idx_store( 100, 0, &pk, sizeof(pk), &i, sizeof(i) ); - sysio_assert( false, "kv_api should not be allowed" ); - } else if ( cfa.payload == 204 ) { - char key[24]; - make_kv_key("testapi"_n.value, "testapi"_n.value, 1, key); - kv_get( test_table_id, "testapi"_n.value, key, 24, 0, nullptr, 0 ); - sysio_assert( false, "kv_api should not be allowed" ); - } else if ( cfa.payload == 205 ) { - // attempt to access non context free api, send action - sysio::action dum_act; - dum_act.send(); - sysio_assert( false, "action send should not be allowed" ); - } else if ( cfa.payload == 206 ) { - sysio::require_auth("test"_n); - sysio_assert( false, "authorization_api should not be allowed" ); - } else if ( cfa.payload == 207 || cfa.payload == 208 ) { - // 207 is obsolete as now() is removed from system.h - current_time(); - sysio_assert( false, "system_api should not be allowed" ); - } else if ( cfa.payload == 209 ) { - publication_time(); - sysio_assert( false, "system_api should not be allowed" ); - } else if ( cfa.payload == 210 ) { - sysio::internal_use_do_not_use::send_inline( (char*)"hello", 6 ); - sysio_assert( false, "transaction_api should not be allowed" ); - } else if ( cfa.payload == 211 ) { - set_action_return_value("hi", 2); - sysio_assert( false, "set_action_return_value should not be allowed" ); - } - -} - void test_action::require_notice( uint64_t receiver, uint64_t code, uint64_t action ) { (void)code;(void)action; if( receiver == "testapi"_n.value ) { @@ -201,10 +110,6 @@ void test_action::assert_true() { sysio_assert( true, "test_action::assert_true" ); } -void test_action::assert_true_cf() { - sysio_assert( true, "test_action::assert_true" ); -} - void test_action::test_abort() { abort(); sysio_assert( false, "should've aborted" ); diff --git a/unittests/test-contracts/test_api/test_api.cpp b/unittests/test-contracts/test_api/test_api.cpp index 41927292db..237c90b7f6 100644 --- a/unittests/test-contracts/test_api/test_api.cpp +++ b/unittests/test-contracts/test_api/test_api.cpp @@ -20,15 +20,7 @@ name global_receiver; extern "C" { void apply( uint64_t receiver, uint64_t code, uint64_t action ) { - if ( action == name{"cfaction"}.value ) { - test_action::test_cf_action(); - return; - } - WASM_TEST_HANDLER( test_action, assert_true_cf ); - - if ( action != WASM_TEST_ACTION("test_transaction", "stateful_api") && - action != WASM_TEST_ACTION("test_transaction", "context_free_api") && - action != WASM_TEST_ACTION("test_checktime", "checktime_no_auth_failure") ) + if ( action != WASM_TEST_ACTION("test_checktime", "checktime_no_auth_failure") ) require_auth(code); //test_types @@ -174,10 +166,6 @@ extern "C" { WASM_TEST_HANDLER ( test_transaction, send_action_recurse ); WASM_TEST_HANDLER ( test_transaction, test_read_transaction ); WASM_TEST_HANDLER ( test_transaction, test_transaction_size ); - WASM_TEST_HANDLER ( test_transaction, send_cf_action ); - WASM_TEST_HANDLER ( test_transaction, send_cf_action_fail ); - WASM_TEST_HANDLER ( test_transaction, stateful_api ); - WASM_TEST_HANDLER ( test_transaction, context_free_api ); //test chain WASM_TEST_HANDLER( test_chain, test_activeprods ); diff --git a/unittests/test-contracts/test_api/test_api.hpp b/unittests/test-contracts/test_api/test_api.hpp index 8c56b7b77e..468f669b45 100644 --- a/unittests/test-contracts/test_api/test_api.hpp +++ b/unittests/test-contracts/test_api/test_api.hpp @@ -170,13 +170,11 @@ struct test_action { static void read_action_to_0(); static void read_action_to_64k(); static void test_dummy_action(); - static void test_cf_action(); static void require_notice(uint64_t receiver, uint64_t code, uint64_t action); static void require_notice_tests(uint64_t receiver, uint64_t code, uint64_t action); static void require_auth(); static void assert_false(); static void assert_true(); - static void assert_true_cf(); static void test_current_time(); static void test_abort() __attribute__ ((noreturn)) ; static void test_current_receiver(uint64_t receiver, uint64_t code, uint64_t action); @@ -283,10 +281,6 @@ struct test_transaction { static void test_read_transaction(); static void test_transaction_size(); static void assert_false_error_handler(const sysio::transaction&); - static void send_cf_action(); - static void send_cf_action_fail(); - static void stateful_api(); - static void context_free_api(); }; struct test_chain { diff --git a/unittests/test-contracts/test_api/test_api.wasm b/unittests/test-contracts/test_api/test_api.wasm index 34b0bad3f3089cd78bb3111a8d54c4a2bc508aa8..de064dc1e6ace0c1c9e7bb0541fcdb2f6d5e5699 100755 GIT binary patch delta 26169 zcmcJ12VfP&_V=FM+$7|tYzU-7ZbE(RGI_dfl#aHD&lmqYvZ>(QtGOB(TuNFP(z z0sWtsbhGb(XL|MM*0q0+7y5MW-=lYTt%Bg}HlSZWC~+XR(nzQsA@ucpx${4}_t)I~ zA{-ap`*nS(yB6l7y~Jtk9V4S-M30v`ckR~gg#j=nl9Sypb?@_R=N^4}_2|=GGdNNS zn!wY)$IIP2_wDz>vje(y@As1C;-n}}>esb*=K(Ku{bzSAO6V89^w7eYTep*=IaIOh zOD}cr2hQ%@UU<2Czs^0o|67Y;$sw6BCMSmpi2+>Xp^&;&L_{R^(sNpDfaBTcw2I6Q z$!8n&c(x;?ns>9Y(a_>Zi;JVUu&_#0IX)pVGATjVlao_)-N0XJL`0RUX;tIG;yhvL z8HP9*5k^E+eyCQ>eojq;a~mw4ajA1ipy1>bAedDzTv9R zPPvAK)F&g3y&78GtJMb%u24?r-1v)gekiW0LyKu>L`x7yp%X@g8gUJ|W#Z2T<8&7h zx$1|ws4wN_x(w1NG~V!%RamaMy_$8cl=x5KN8}Ex7ZTdLd+!%mwXhoAD@KLBq*>(7 zS!^sZzA(NtmKw{96UHybN#m69t8v;`O3P?Dt)OyRNvmizeMMi>8v2IT(zmpZHqdvp zk+vB>7(W`@jUC2LW0$ep*kkN9_8I$)6-K$S(pY7zHoh`S>5_5T_?Z4MBK9tHZ8SnO zvyuCWf05zU^E_IVW@#~Q3&$+|LMeGP%X~S53NrLuekt*jrG)y`3app{tM7{$TCNTR z!n$Sl_h=7r6*#8?F2X$F_f|U2B|VbQ(pumIgxA88>NUvFqCiR)#a)70y=4@6^jJ-c z)ZA{5<_?9J*;xKGT(By5c_o#3m87VB0Eo2Gk_(IUL`Qn*%kiE8WJ6d8^VZbQil)X(*0^Dz`H8B6YVX z)B`6xh9|^q&URPsT=~uz_yRP<;{qC*-(qN~X^n}0nC@hg;}fC2EWRU-aS8JpwDh=Y z8R6-Ix0azbH8jX*9>a79VVtg|8v@nMmh5aoWoo$~EHQ^*)SXEgbPwy2R0qf5Nw-le zwkD|rCO@8h54@Y0{2Puer5-q+Os>lIr$mD96t3@Ckeb@x2)_fyTc&wC8=rPR-M-*Z z8d21JsLJpH91;u6``KAfdwPJiPA`Uv@6xki^l#}eM?Dn8^Y4td^e|hOF&sRPSL@89 zw76PZUKtUYU4iw=Y=GmW%p9c}*q+Rh;cY#HqRe)zU-hx{2n(xm7ni-a#@$?Yc#STQ zI#t7iV|2}is_cC=2m53nW7})KO#fgHXDx~gR5EGwHp+8P#d05YxMOu3(P)X@*qyN zj0QMs5X|n)UK>=P&zuf*$Iw&kRNZ$|Rbxq-lkZI@w};%nu@`FJtKXi_R@RKRJXi%N{u+|M$5jQ5qJvSeTVx8cIu!apiK)W`o!`^84fuLuCw_(G07f(q}S&HlZ zjk8#*#_v&|1^XKhK#nhHpOeUcUdWB2Xzsa&EOuEW4bpr!VxN-yTZ7yAIPNVSlWY4=%3>Fyg2s2F(Wn{{h5c%0=IM0bHUOF zA0g_+iXMBCdb81wTCB@M^MbA~v{A252hoCg|C(04eO-E=J=*>O3S(2+XW_WEeHxC( z#d+-G{Ji1g_v85b;}(v~A5XyX)Ds;4?eT|jyyuC#aUA+YY7(NPS$cuTunuc|E$VL- zuEtQHBmB#rsPC7GdeVau>phu{W7{X|0YBS;Ym4p3OTWFNDE-N$iWKsQtxGdQ#yr)B8nYLkY91Gsj7H?q z3oPw+4bhKrn;~r3Q!mtLoUZG6o{*MN7_2;v;uRu znZt%ZU5`T8mrr+wDJh-W#Y{m%)!a*nLcFNmT=rV04w6DsSXSrPDU{9ZTm#1qo!cb| zUT%fvjuF|wlg`XFr?cEHZ_q^cd6$P^x!!eLGB`%-P+1LwaL)`qlQ&4+aut{p*!-?- zz(mi?`ddt}b$Pee6tW=f*+E2!3r2LWKsAz3gPwv+&0U>{7g4VD%rH=f0c$=Xo~9Ue zk{2v}?x>NO;^WPfydKFaMmaMTyoUMNf;9#EiK?*DUMIt<3TWYi3BBJpC=Jkd7S*pI zEnd)~pG&7DtY!Z@^sr>Men2Xl(!Trb(>+>lcj4l*}5w z{xIwRMrQ*PHg@`rgBoH)tkl+dh^9u)i@qA>np9mT+e%h%{V#1+86c* zb$wxL94i&^tdNphiu&RFo`JkYmJF=P4irzOovd)sowSuLAJmqF0;e_O`RGNjOW3wZ`mOGd--8HFX0R;W4IgO)`jk z48yp`WQs@t&rN<1A_5T=4Mvs+g83h?kwZH+3+GPM)l7?C6kcTMiH-+#wU7W93DDHc2KcA*&dI}~N9E^N$S)Ls zLx(mpedoo>xxi7}W*#j*kj$+Xl91R7SJ0-(k|_MxI9?Zz}M) zskQJs@HmAGhhn#LUc%2sC#1QXv$LO6PLU%6=25MzixA?Kh|w*woi%DB%PVOVJ#Qli z4TJ&l|4$-O?X0aE*{3Dh(LxWORC7(y>_kb9etaWKA6+G`LL@pPqn6=GcVWV*wX@#Z z#M+H6&5E(K)?#XISc#^IPSMp?Tw+RUCGvk5y)4a)Wu7sQWR2Ji-vEBINwdb{`~WpI zT6+w~!@?nVHZ}4vp=!(~jCr!dL2i2@9}yx8tU2I5L>VsgFi=z&rm}_urib7ZO|KVz zPHF|{a*rUtLC?~AnH5pjA$2v}0*Sf~;nRW~_7F=zlW$;Gipg=pTe4*Lx2OTu)s6>c z3agCcLYC=0=2%<~#lo3igAK_OhQL6H`)uL8fntYtYdf6&BQHY?7m&!+?}1njg6NoR zMPW)VY>qVCR{5qtY9Lr<1(?J``8{wolzUDb-f_P#l+DMbvoFS4c?U_)lYuVzYU57L zj6?1tJ&!|{*Q`)<$x-BS>cml$DC(s7xK2-qIzgj{f2bAY?NL!3kroLL5%NgI8B;hT z3LR_j{ctq`jOq|QX29cSoQa(s$7`gE&5!BtR<4)B?-@RIg3o;{!@26CROoZ^*>^hx z=gX$xYLfXPL0=vHZ}LU-`7(;1s!`m&nLTYMr=jNHU0WUk#D&-AW86D59Yp%VX7;ZA z1#2|2a-(DD$+Ps340NEVT#we%tc1Wwh<8b7%DEipsX(IrvNq#WDVOycpN0W?`1t0P z`TQe9oqvFP65BJrZY0lsOg^CBJkAb`tU)K(9q+9tejaB(btlE?Ka<_23N?=W{svBc zp}`tVsDp9vsR_^Mzka~VC!}H^`DsEM`kB>zzg6X5d8f?>fDmyH0Rs%oWrn`rCBJlw zKQ*1E6> zvPB)B{jBCj!W6n)i^Px9x0t77m%?*c^etTU32~#HtEUQC)oGE7Dn(IJuLoD)#o|I6B8BPo9Gs ze_+aeG?tB|0O>lonIFr73lZ5s0j? zm(#i7I$wU_JS(TxZTHSr1Wa}tn?EdDqjVc%KoK5QkevZ0w!Y2)L#VILLX^&c&xLbX zi)jh2>0B%8I4#9}QADp2tgXn3rp1Ty_JeU&36cIAv5nKK*bh~rFt1{Az)ha)JR>n0 z=IR)k+-*sBCK{M`S|9Vmpmpn+UBl2GdB-Jey(Eeb!3`cCBG77YvX$E+hR$|!c51Q_ z(-YA)(4_Rs+^Wo5M3>($hJBFJ-#|)if82?R7#q`St0xWOsvd? zmo`M9vgiXdDxql91Eytp0pnW3w(F(YV9WmK+vM0}F)Z>$D&7ICc!3kn^n(c`%T*PVR|T%AO!Yooh3t7nRz~Lgo0p6om*StnAap=-W@P+%*Wgd z%p`E!`SCng0$erOwb@DGO{~IQUsW&{u(Ua;)P&tJryk8^muFY?5#}p|IjrZLv=)xU z=e+LW2qtX}0{2iFa#<*pTwvi$rYl1;=Scyz)J1;f%~*@My|G#|ckT{x?8(l~%feaS zCzUELL_{E)e^|@c@}J4~Vi5c}g~Fex~yd z6G6Gkb2z}lwn+mxizuIKiN(28lJ6aa!sc&dhd*iT9Uw~ZS+L2G^qVfp`ERI_zc@@j zM;spVn>Z9>lRp5$#=m6oijoE;!`E9|!b#FkM@PE9m>Fs@@YT@(Za>RPhlQJ}a0CM3 zLL~P6z>?=T3LSu|zxo4vWPWaimyieJf7HxDZ1nsp-sL#sxnLFuLqtfy!Iv6wNQ4H3 z!xt3EkWa!C&a?XlEg~*AaXF#$mj(B|ni*W0Q%RgB5FJO8j1Di)iH=_rci&-h0>rtT z0C6r~j2tEzqr`k~6wj7@GLRTW(&yI+eMyGu#Al7$zQAMPas12z=OxEaPXUiO1}%p} z7m?r`10UyMAFYqKU3+8AcIDQi3(gjt#XM@RTud)noN)}8(8KZXu zm2o|oMciuggKP=GyoElKg*xck>d+hTzT;b+*rm^^x9xMI-{*t15Z0JQWCDJd;P!y$ zk>77{1p7TVn4<;PVFmpDE|?6zWf_X!r-E7Fx5^Ui_lR9V_P}q27k%EQ(!IL&GA-?JoLkCkQ9i>#dOgD`Dh7mh4b>1+(u9V(%-nUvmB#%n3)NVxjDFtD+?``r z5lvJx$MYR6&ANp3A>NUgU$CCb@6{*HV4p94MIT(s>aFOAZLGIfG^_ko;N}^3FMQ3N z-)3!JQR^=#mCIYhicaONV8zUGPkodu*0~nr&V{dcJtizLxCOY;wRVUVs!Ujbt#6*D z7s~JBcC=V|pKvCH%~)9nsy46W4xL?@LS-y!RYDZhVy!^4GFn+5A7%|#-KOKG*Q)MS zC(fV(5Mm9DFH26}kM^^M_gA z)pvw#FDA>tRQQd}<5=sj(&-56xV3uh5t&=)eanw%Rx{A&Z{5uLew|K7+4^nOV~&Du zdDC6!UtQL;qiodH)X<|Emf|Jj;x*}XOei|$SG3|7Znqrz{%<5bQ$Ku+Wv#95STUa! z?Ci@v{V{@VTw4taV%KHHlpL2Dq#g5F^q$4+r*9kMMm%<1^%zcs9igxzl-sdocVgI7 zVTg}2j@4hE4(@jAt4BMkq$L4{HXG8hi1Olw>NwgPYBtbm)x#Oj3Z~48hXY!q2~x|fZRvE1S2B)g zx21>8=Q%s$6ifOcGxQV^2UVD~V>H|L183W?qnf_$6ifNBnxyfd_CgKT1#Rz-ne;0& zwmT&5;QIh#*QG|>^+0+k9-6Q=|H^*dUR{bVg4)kO->`#=o!yb@Pl{{%Qe#A#qD{}? z))b#+Ep}%5=>Vq(@x#PB(9;4v9_Oo8oT| zs^Rk-!%ywaxL+FndBE^;Y=q4VSpK;<6}@n|hOJe9RY<-Yyyz*sxJl;kI^-`~dUTT> zUtI}4_S3#(f9q1+`}C%ISrl*&3HE8gyG1wF3uFVv2I@ud{WtX@%8*`gS+!n1W%hww z`WM@HAUWhT+B%zmAmRS<>nptGzr+wOWVrrGPOx3P;D3wIEIZ5cj(R}vdNc{VuN_Sj=ZUp;a%K^H-(0_3y8Q1T zgO79hl+Z#vE(nc$@@5_jg(3vd2f}h;X7M?ol?~3vtsHYsSSc@NoMV@dHKSLN6G^Ux z=X_y%mGwTJ6yjVa2(w@1W;fizF~z$5y!_Yrgb9;pVIZm}V7U1zJAJ%r-Pb&j5jRxg z?kb#D_TC#b`O=7&BkewQ4lZ)LVa?A8rk`Ji<5lhqjbu{}R^>JDDm(deE}a*y36lQV zdG_jwEVklcrBqpetIr49E;9c$?pD-yeiFR#O@-U<@uNPE3ccJ}+<^#p;Kk7!Sjw-% z7Qu3JdS8^h?8Lz;Z2771%%Tgy_K3O+ilwk6sm3_TC}-cJbe+8PrrdZJL&V*hR@lOP zojVf!v1H}Y3IWB{m(DNr6Ew|yJ;;ZZ0a6}hicTd(Z}3C#m}?d_6209Imva~u5Pd{K z(za4|>SPM*ax}?2C*gZE@pong>wL6wQ)$W7AQG&3BgmRz7e!PYNiENO0~RGm2cc(J zr=wU_KNS`e1Yh#9@?%ZCb0sKE+JVPx-}L7sZ+~wt^Cjq|7VWGrII}`WXQ(i&zzy*l zheHFQt@V8nzo@bRKN>?jD|cTIi^zxo%cbjJ`6Y;BKhK#r*|)#e^>W-@29v#tNi9t8 zQVSV)#b{*>{p}`m9pY=Ptg#MJgFs7bS`e$SRI(O^w6f*~5rvH)rtnhmV91gns<6+? z-aVb><+yu~;cTDu%uw@BGzn3aioKuD5c`WxKHkg%s{<^)%#=+>IN>91j=2xH=?zw} zdCH7|@Wsco?%aJZ%GCBNu+|+ZeH#w>Si0m-A8{kg{^DV$Uh%W|GPZ?GOGlGae_q6g zC(Rb=m5+DDt#~;rPoH33U%LDCw)Hb4*1hMkKhrB9;T11Y@c3ON(-*E-Ta4WD`k5yV z(1zY|xapfWGEe-asC?~^%kN)9mibD4^8BS$X?fKw50#?d4Go54? zTSzUfAJtUw7V-vEh~1`E)_#=$91RBqZ!7CW5JBV}2s$2V2_j78BL@gb>gz#-LQzCZ zYuN8-PJ(^p&NvVcGkuq z0yl;0-^o$;PGaAjOZN_xW0}Zwi~y%OO&Jk+=?;stI>^_7F5kojTU1SA4dbm#!McQD zK4s355nnnVc>`ZzVV*gVdCyn&N`kCLCqQqZ7H4ogs7rZERO0*~T+|f^sH^2c1YrjV zi2eE?0uK<^zmubQB;pQ~p_#=9*|{J-9+YBHCD(&+p%?^2e)wh9=0eR*gMy!l`>6S~ z2lZPmmAm9k#SVzqDIi6)w+^ZUEj*R%{?WOP!1bw1DLQmVT&|KlJXrT>$(2v$aOh5sa4vOR zawS8qilXx)aDD1hvYR>AUR_S9yw5Ngffb`%B3TyGIDSzjdy4Tyy2yo$Cl( zL%DH8s7bDZj%Z}CrVCE7WR4V?240h9>A2>aN}THmTtkz0vb>hn)JYCEqj*KlYs;>_Q3+4cW zKm$yeDHXnQ6O%v#Oqwav!ZDu@I`7OBb4#8We&bu>Nh~?E`KYxOswBdCAJKag5q`fj zlSN#u*<=ig7>b#>v*duv;0RL?Zld_}3ex238cVyDT44-Uf$p_tU)RPFi7Nzp5on)W z^EYvq(AQFE9E3Ingg}GPE-nxP& zG2lErTr85q^;FQO)~Ndr+vGM0%r56qc0(B4awo-!H+Ep#->_Q{cTLc`{tcFlC__hGs&arQ%7|qFH+zxOD2bb*E{NPUjcXDvvAEgUk%hes;W`}|A z;`r9N^9H}}$4>y>4cOQ1;7Nt1cvVdpcNVlgcA-Iuxj6fY3oknM`xV14d=2nkF8ssC z;=dCu{IbQxWbU&!8g!R;zj*pSvjF0F-2XT6%qkxE%goiY00|tA{~ri&Vb30n2lZsW zAB7z(elYLl?<>^dOEGnf#A)VxbWgSXF_F_Ie$%|0c$U?A2PN|0BC2C>iigd~8jq9s zLptS?AAF>edvzr16WrJCq)!lXm?uN}yBr zCt=h^KTCFlFp8&N#3lV|U+2Wrwl|!T?Qg>Ag&2$cI9ze=_nM^H}n%eU~u{GI1fZ6uA312Z?- zBO>TNh;eD2Q#^k_L?$7L>}wI!xbn@9rQ#`2JF5~^x6R5Fc8l#@hhD?pT!}(&LC4d( z_F6aHODAkIl3MGRbh|?&Ue9i3SBau3sIul!R5fNc@ts)@?!fwI=w@U4`6zlwzpUG3 zQAp80ka1D;26#J1!-4(wtZ1rB2kh<9^sgr08yR5HGIVUxdd$Wd*g?i+u5QY>@keA$ zyrl%?cwr*agB=}ni#;%g^7TJ;drb`0*01RHxfr@%zpC4JnKX@lw)dNqQs-wRn0Sue z{8=OrYC&l@cs&Qjh=TyTsBzDqiQcXRW~Fum~=%wnF=xSjvR?Cu1oi z?UsAz+&<(bo;S8fyD7!4_Y8u4b7eTY?0-u~4Z2_KTi>h&ZzB53(?xkTNW7D7-E7;f zc>mw)JsU@r>-@EfME)?j?@4(6_N7dkNoWzT*?X!|vZ)W? z59;$|iYzdHMw5?8q^c&rs;;(9FyoB} zA9JGJC6PSH{GvoktFRw!2-$9)uxBMw51?^LluqmIoFsa%(E)U5<|UEhcqX`QsuOHw_E>lNllATlU2i*qUJ{q|(T$v3%G>caWLk;;*9M zX=^^vx_G!l%wl_WD%GO~_PJE*NQ3N$s~~2B5iPO3|PVja0lL zshMjGalw^o?j$r{1XH}ghZgU9k?(+gz6u?pN%r=tl#M`!q)`L>fR&x zP=E$$d`?0;P>dlG!#aP=UN@Z+@||en1g}tsh!bH`CCxgDAuhuDSsZ`oN4)8mubBz? zhp(jL=rt20P)z{U091325X%AlscXBQhuYQ2wEpChC>eXTfeX}#|H5}>f9#o`Rzq3@H@NtP@z-Adx|j5gM~4Fb0XDD%5IvQ{PC)h-nWkEc-qia zCB@TZNVX_kI1jcr(Qhxlx4~uijh#7b-PW-)Yl#x}DYE+p*=;j@c8p&$fB2#CYh=}& zQn*eHvWJ5!jO+56HSACDB^3I`K9NZt?^=U@UqnZ<;E$xZYiW0Dn%2UsDbpVpearn9 zS1vTl@m;ucG-ow!e+x59ayvkDxgUrfbFOeorw{M)0q%iLyKLaJ7kgNBdbnyWwXyjx zOy|tLSRIp=#uTH-EYQZq`l z+h$`t!QDVM<^J!D`s4cDVJn~+K32Y;?Fy8blXz1 zDc%dUwxNt`*VFib-6bQmr+J(!#=RwuYjLv|T3e2hrA&ENfusIDu0pd1nN$_`erX_MA@$4LrA{+W?yea zc>l_7*qHDFmffl`Wk(2?;0sdm^~OpA>Z>%M{-ObW+L%%y^<861N|En;W$9~4VMC~S zLql(n1iq9eh}-{7GK?QW)-0GV+Pl+yrix6(e8^gfwH-WXCuS1|?anz=9cBLAR@5t( zTIkHM3-Pkt|E?Kvkvitt;%;2wjZ@j^b>^gtjj9YXt`){Wz z5m?0C4XsEld)Mt$%~hwBb#;hczd2Q_m7O78dF}h6{P+lem|8dMX5dMIi9>}%2LHNN zh&kVWtvU6ldiI&-RL7g0PS)q3M|fziS&g@mNHe>Y^`#V%bKiWd-dMXig5OilZ{aX` z&79wv&hHn_??&f$KmT?AL0rcf2OIsil>O{&uRQtQ0WLVd4p(T<&%lTdB z{Qlzn4j(P)bDiIf{MWrXSx$xJcVYBA>ogWguYq*Hi+iYc{6%?u5<|}eWjxl!KNtfF z2#-W*<}3p*-8=X^1^<}if_s^RLJjyfK>m=zH$<2696zn#LnZDN0)HxmVT!;&A~>KT`xs6nue# zPgL;F75pOwU#Q?q6ns$t_gd=|LRo-d?Nac?3VuStmneAgy8#EjQ1HQ3!ke1kK#4;3pLPdk5zuthnoNddkftdpeGb zS)zmgsNk0ZdhqlCzK3Kc2ZV;bhcMY&?xo6Ju45v+7nEj9WclINlKyX;D#=9C~^Sc$l3s}WBMM# zcXu5Ay#cDZTfr~*an#CQg)nG>8VOiv?o+5!gQz@C`xUDEq>pIjjw!z=RQa7ANrfb2 z&vPn1wJJQ5pIH%Pt9UEEe-Us(esxKeyrAfnAK6i93Kzm!EZ(HbQ@#L;MMS() z&TnfCzM5%Zx{jw63_hpV^9wg@TR-~H`mGx^J{WItidZ>;tPKIT&0&T#jN>~Le5isS zRq(eJ{G5Wn9n1uk;FI9Kx3O z$@)nVn5avSIsU7HPgd|D69b0Y3O+-@-&gQeejNEXMImhP6Et(Gg6~l9X$pQ=!KW+u zc?F-L;DwU{hR)=PLMI1)rzjUrF36rkh8Cpf-L!T)q{KK=U2VB9qY|4_lNEBFcpFLbIK`n}dZg-{eASeF!hpn{K| z9w_)N1^-;ZiyeIXbh3^q_%;VW2YlcMTu&|8bIVb;hzA*?<+~sezNTjG!seKHMSQf$ z!%k02`cIqB*=?zAuutv0Zj`{cgZMTL@9WJu_OP~;8>KKEC%(y+`JZ;osGz4Z}Fz^D0~HDvjvD|>ba%63zm zC@jiYA^ox6UH?&P6cVDjhufZ-*lU0LQHqw!wolsU9;IGY&u~syDt@u$vdH;DWSQaq zC+YUys+4Gk+_+6>b)$IUC!~a*XY6ktqZY>B-9k*XJNyF+vN^af)%gG6{3dm|9n&6* zN3-nZ|DYQ3`$E`%zb6CVB?sABi$yg&(1CixLXax=wNI{9dm5&HG}GSFp0d(5&ZKm* zj$oM#>k?vr-D5W8yLH&B18gTgPTAoDKjhzg{`y1v!N+N!KB&~*{5bVjtHyZ;oo^IB z`2^LCQg%N7yNc{j-`U=0CGcXkX^+DyDD4~|Mt z(L=Pwe^Pg~2DJVpIN=!l)&6`#I8YftKmJ;Af~I{Z}Q&!J$(SCFAu>3F7LzW|TUPzlDHn90u`<-~hX{&C5d5$lSoj2^EJ+K%X zW`EIx{t?B$dFVKM0b33QlyQsPt=?!`zZv$1-qcY4-LS9srk3vI2EW5WWo$0B+w`H#=5SumLv*oIAC9!Z znMe@>4;0`P_r@89wX_tQZU_l~u#10^6dwiUi|VM%d3~r(7&M}NFSqyip+uB=xew($ zevx?jhl2&4yE$UV86Hft|dfxrc_A-CIK8dfDS+XfnB; z@7}A|3-$#@PeadzVsZ})FKaiJn^N>HWpL$Jhm-ql7&#tBE*Vct$euBtD%+zb(8#h! z->2~eo+0DN{Z4q#lgK?hyzJUk8bxJ`r_&o8oII28kt923CR)!! NAJTIn+GCpbe*l~Z?!5p2 delta 30144 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 VgAl%IObxJWO=JIvD1Kbi{tqYoZXf^v diff --git a/unittests/test-contracts/test_api/test_api_common.hpp b/unittests/test-contracts/test_api/test_api_common.hpp index 2b79538f53..96e1008c4f 100644 --- a/unittests/test-contracts/test_api/test_api_common.hpp +++ b/unittests/test-contracts/test_api/test_api_common.hpp @@ -37,20 +37,6 @@ struct u128_action { SYSLIB_SERIALIZE( u128_action, (values) ) }; -struct cf_action { - static uint64_t get_name() { - return sysio::name{"cf_action"}.value; - } - static uint64_t get_account() { - return sysio::name{"testapi"}.value; - } - - uint32_t payload = 100; - uint32_t cfd_idx = 0; // context free data index - - SYSLIB_SERIALIZE( cf_action, (payload)(cfd_idx) ) -}; - #pragma pack(pop) static_assert( sizeof(dummy_action) == 13 , "unexpected packing" ); diff --git a/unittests/test-contracts/test_api/test_transaction.cpp b/unittests/test-contracts/test_api/test_transaction.cpp index f35d6ad026..29021e591b 100644 --- a/unittests/test-contracts/test_api/test_transaction.cpp +++ b/unittests/test-contracts/test_api/test_transaction.cpp @@ -227,27 +227,3 @@ void test_transaction::assert_false_error_handler( const sysio::transaction& dtr sysio_assert( dtrx.actions[0].authorization[0].permission == "active"_n, "action's authorization has wrong permission" ); } -void test_transaction::send_cf_action() { - using namespace sysio; - action act( std::vector{}, "dummy"_n, "event1"_n, std::vector{} ); - act.send_context_free(); -} - -void test_transaction::send_cf_action_fail() { - using namespace sysio; - action act( std::vector{{"dummy"_n, "active"_n}}, "dummy"_n, "event1"_n, std::vector{} ); - act.send_context_free(); - sysio_assert( false, "send_cfa_action_fail() should've thrown an error" ); -} - -void test_transaction::stateful_api() { - char buf[4] = {1}; - char key[24]; - make_kv_key(sysio::name{"table"}.value, sysio::name{"testtrans"}.value, 0, key); - (void)kv_set( 0, sysio::name{"testtrans"}.value, key, 24, buf, 4, kv_upsert ); -} - -void test_transaction::context_free_api() { - char buf[128] = {0}; - sysio::get_context_free_data( 0, buf, sizeof(buf) ); -} diff --git a/unittests/test-data/consensus_blockchain/blocks.index b/unittests/test-data/consensus_blockchain/blocks.index index ccac82c194bf62dd58e69f1d30517aa6ff6f61ae..cbfbc04de5bccbe5cfb9a00f32f4c9ad536995dc 100644 GIT binary patch literal 136 zcmcc500Hrg5L%H5LQ8Fe(1-RwX#af>`p$j`t$zqYHywe{{Kp{loZ}E$^CW~me+fb- SUWL$~uS00&+YtIFlm-BpJ`&Xc literal 136 zcmaFP00HTY5L%N7LNjfK(5v=BX!HFL`p5wYEq)k6XB~ym-;Y7)mJ<+K@DzmJei=f0 TUW3rLZ$RkRw;}Y}I}jQGsA?0b diff --git a/unittests/test-data/consensus_blockchain/blocks.log b/unittests/test-data/consensus_blockchain/blocks.log index 47995c9a93e6af1d624ebd85e2dbb7be0cd6f126..0d4b88f1560b19e930986e11e2cdace6ca503a60 100644 GIT binary patch delta 6653 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 delta 6860 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 diff --git a/unittests/test-data/consensus_blockchain/id b/unittests/test-data/consensus_blockchain/id index e9b03a66c712c577697007d3b513acf355eec060..b05dad0857e0720262e5c144d46d4a313bdc94de 100644 GIT binary patch literal 32 qcmV+*0N?)r000z|p>@nFfdx1ex%j_n+~|3n^87W6sWI+IlKWcR?GN4n literal 32 ocmZQzU=V4qJYV!-wL%sT_pgsJAKqn^H89G_T`_0)*j3*E0Mqmh*#H0l diff --git a/unittests/test-data/consensus_blockchain/snapshot b/unittests/test-data/consensus_blockchain/snapshot index 17ba80d110314510822befdb4aa738030d1bbf71..b5fbe9ee08df4999c46f3e08c8ea3d3f98cea633 100644 GIT binary patch delta 2132 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 - -using namespace sysio::chain::literals; - -std::vector deploy_test_api(sysio::testing::tester& chain) { - std::vector result; - chain.create_account("testapi"_n); - chain.create_account("dummy"_n); - result.push_back(chain.produce_block()); - chain.set_code("testapi"_n, sysio::testing::test_contracts::test_api_wasm()); - result.push_back(chain.produce_block()); - return result; -} - -sysio::chain::transaction_trace_ptr push_test_cfd_transaction(sysio::testing::tester& chain) { - cf_action cfa; - sysio::chain::signed_transaction trx; - sysio::chain::action act({}, cfa); - trx.context_free_actions.push_back(act); - trx.context_free_data.emplace_back(fc::raw::pack(100)); - // add a normal action along with cfa - dummy_action da = {DUMMY_ACTION_DEFAULT_A, DUMMY_ACTION_DEFAULT_B, DUMMY_ACTION_DEFAULT_C}; - sysio::chain::action act1( - std::vector{{"testapi"_n, sysio::chain::config::active_name}}, da); - trx.actions.push_back(act1); - chain.set_transaction_headers(trx); - // run normal passing case - auto sigs = trx.sign(chain.get_private_key("testapi"_n, "active"), chain.control->get_chain_id()); - return chain.push_transaction(trx); -} +#include "test_cfd_transaction.hpp" +#include + +using namespace sysio::chain::literals; + +std::vector deploy_test_api(sysio::testing::tester& chain) { + std::vector result; + chain.create_account("testapi"_n); + chain.create_account("dummy"_n); + result.push_back(chain.produce_block()); + chain.set_code("testapi"_n, sysio::testing::test_contracts::test_api_wasm()); + result.push_back(chain.produce_block()); + return result; +} + +sysio::chain::transaction_trace_ptr push_test_dummy_transaction(sysio::testing::tester& chain) { + sysio::chain::signed_transaction trx; + dummy_action da = {DUMMY_ACTION_DEFAULT_A, DUMMY_ACTION_DEFAULT_B, DUMMY_ACTION_DEFAULT_C}; + trx.actions.emplace_back( + std::vector{{"testapi"_n, sysio::chain::config::active_name}}, da); + chain.set_transaction_headers(trx); + trx.sign(chain.get_private_key("testapi"_n, "active"), chain.control->get_chain_id()); + return chain.push_transaction(trx); +} diff --git a/unittests/test_cfd_transaction.hpp b/unittests/test_cfd_transaction.hpp index e195cd8019..954ba43d12 100644 --- a/unittests/test_cfd_transaction.hpp +++ b/unittests/test_cfd_transaction.hpp @@ -1,41 +1,46 @@ -#pragma once -#include - -struct dummy_action { - static sysio::chain::name get_name() { - using namespace sysio::chain::literals; - return "dummyaction"_n; - } - static sysio::chain::name get_account() { - using namespace sysio::chain::literals; - return "testapi"_n; - } - - char a; // 1 - uint64_t b; // 8 - int32_t c; // 4 -}; - -struct cf_action { - static sysio::chain::name get_name() { - using namespace sysio::chain::literals; - return "cfaction"_n; - } - static sysio::chain::name get_account() { - using namespace sysio::chain::literals; - return "testapi"_n; - } - - uint32_t payload = 100; - uint32_t cfd_idx = 0; // context free data index -}; - -FC_REFLECT(dummy_action, (a)(b)(c)) -FC_REFLECT(cf_action, (payload)(cfd_idx)) - -#define DUMMY_ACTION_DEFAULT_A 0x45 -#define DUMMY_ACTION_DEFAULT_B 0xab11cd1244556677 -#define DUMMY_ACTION_DEFAULT_C 0x7451ae12 - -std::vector deploy_test_api(sysio::testing::tester& chain); -sysio::chain::transaction_trace_ptr push_test_cfd_transaction(sysio::testing::tester& chain); \ No newline at end of file +#pragma once +#include + +struct dummy_action { + static sysio::chain::name get_name() { + using namespace sysio::chain::literals; + return "dummyaction"_n; + } + static sysio::chain::name get_account() { + using namespace sysio::chain::literals; + return "testapi"_n; + } + + char a; // 1 + uint64_t b; // 8 + int32_t c; // 4 +}; + +/// A context-free action's data, for tests of the packed transaction format. The chain rejects a transaction that +/// carries one. +struct cf_action { + static sysio::chain::name get_name() { + using namespace sysio::chain::literals; + return "cfaction"_n; + } + static sysio::chain::name get_account() { + using namespace sysio::chain::literals; + return "testapi"_n; + } + + uint32_t payload = 100; + uint32_t cfd_idx = 0; // context free data index +}; + +FC_REFLECT(dummy_action, (a)(b)(c)) +FC_REFLECT(cf_action, (payload)(cfd_idx)) + +#define DUMMY_ACTION_DEFAULT_A 0x45 +#define DUMMY_ACTION_DEFAULT_B 0xab11cd1244556677 +#define DUMMY_ACTION_DEFAULT_C 0x7451ae12 + +/// Creates the testapi and dummy accounts and deploys test_api on testapi. +std::vector deploy_test_api(sysio::testing::tester& chain); + +/// Pushes test_api's dummy action, authorized by testapi. Needs deploy_test_api. +sysio::chain::transaction_trace_ptr push_test_dummy_transaction(sysio::testing::tester& chain); \ No newline at end of file From 4937babb2f36421fc64b60f190d42752ba0d961f Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Mon, 9 Nov 2026 13:06:37 -0500 Subject: [PATCH 2/2] Keep the trx_generator nonce when custom actions are rebuilt trx_generator rebuilds a transaction's actions on every re-sign, which dropped the sysio.noop nonce action, so the first re-sign threw. It now appends a new nonce action after the rebuilt actions. The base generator still gives its nonce action new data in place. Change-Id: Ic18646b3173f858e1b604b584a96181dc33f6e54 --- tests/trx_generator/trx_generator.cpp | 33 +++++++++++------ tests/trx_generator/trx_generator.hpp | 9 +++++ tests/trx_generator/trx_generator_tests.cpp | 40 +++++++++++++++++++++ 3 files changed, 72 insertions(+), 10 deletions(-) diff --git a/tests/trx_generator/trx_generator.cpp b/tests/trx_generator/trx_generator.cpp index 23a76ffb40..720c34d6fc 100644 --- a/tests/trx_generator/trx_generator.cpp +++ b/tests/trx_generator/trx_generator.cpp @@ -65,20 +65,32 @@ namespace sysio::testing { } } - void trx_generator_base::update_resign_transaction(chain::signed_transaction& trx, const fc::crypto::private_key& priv_key, uint64_t& nonce_prefix, uint64_t& nonce, - const fc::microseconds& trx_expiration, const chain::chain_id_type& chain_id, const chain::block_id_type& last_irr_block_id) { - if (_config._noop_nonce) { - // create_trx_w_actions_and_signer appended the nonce action last. - auto& nonce_action = trx.actions.back(); - SYS_ASSERT(nonce_action.account == noop_account_name && nonce_action.name == noop_nonce_action_name, - chain::transaction_exception, "the last action is not the sysio.noop nonce action"); - nonce_action.data = make_noop_nonce_data(nonce_prefix, nonce); + void trx_generator_base::refresh_noop_nonce_action(chain::transaction& trx, uint64_t& nonce_prefix, uint64_t& nonce) { + if (!_config._noop_nonce) { + return; } + // create_trx_w_actions_and_signer appended the nonce action last. + SYS_ASSERT(!trx.actions.empty(), chain::transaction_exception, "the transaction has no sysio.noop nonce action"); + auto& nonce_action = trx.actions.back(); + SYS_ASSERT(nonce_action.account == noop_account_name && nonce_action.name == noop_nonce_action_name, + chain::transaction_exception, "the last action is not the sysio.noop nonce action"); + nonce_action.data = make_noop_nonce_data(nonce_prefix, nonce); + } + + void trx_generator_base::resign_transaction(chain::signed_transaction& trx, const fc::crypto::private_key& priv_key, + const fc::microseconds& trx_expiration, const chain::chain_id_type& chain_id, + const chain::block_id_type& last_irr_block_id) { set_transaction_headers(trx, last_irr_block_id, trx_expiration); trx.signatures.clear(); trx.sign(priv_key, chain_id); } + void trx_generator_base::update_resign_transaction(chain::signed_transaction& trx, const fc::crypto::private_key& priv_key, uint64_t& nonce_prefix, uint64_t& nonce, + const fc::microseconds& trx_expiration, const chain::chain_id_type& chain_id, const chain::block_id_type& last_irr_block_id) { + refresh_noop_nonce_action(trx, nonce_prefix, nonce); + resign_transaction(trx, priv_key, trx_expiration, chain_id, last_irr_block_id); + } + chain::bytes transfer_trx_generator::make_transfer_data(const chain::name& from, const chain::name& to, const chain::asset& quantity, const std::string& memo) { return fc::raw::pack< chain::name>(from, to, quantity, memo); } @@ -239,9 +251,10 @@ namespace sysio::testing { void trx_generator::update_resign_transaction(chain::signed_transaction& trx, const fc::crypto::private_key& priv_key, uint64_t& nonce_prefix, uint64_t& nonce, const fc::microseconds& trx_expiration, const chain::chain_id_type& chain_id, const chain::block_id_type& last_irr_block_id) { - trx.actions.clear(); + // The rebuilt actions replace the nonce action too, so append a new one. trx.actions = generate_actions(); - trx_generator_base::update_resign_transaction(trx, priv_key, nonce_prefix, nonce, trx_expiration, chain_id, last_irr_block_id); + add_noop_nonce_action(trx, nonce_prefix, nonce); + resign_transaction(trx, priv_key, trx_expiration, chain_id, last_irr_block_id); } trx_generator::trx_generator(const trx_generator_base_config& trx_gen_base_config, const provider_base_config& provider_config, const user_specified_trx_config& usr_trx_config) diff --git a/tests/trx_generator/trx_generator.hpp b/tests/trx_generator/trx_generator.hpp index b911d1db97..1547674b26 100644 --- a/tests/trx_generator/trx_generator.hpp +++ b/tests/trx_generator/trx_generator.hpp @@ -193,9 +193,18 @@ namespace sysio::testing { /// Appends the `sysio.noop::nonce` action, as the last action, when `_config._noop_nonce` is set. void add_noop_nonce_action(sysio::chain::transaction& trx, uint64_t& nonce_prefix, uint64_t& nonce); + /// Gives the `sysio.noop::nonce` action that `add_noop_nonce_action` appended new data, when + /// `_config._noop_nonce` is set. Throws `transaction_exception` when the last action is not that nonce action. + void refresh_noop_nonce_action(sysio::chain::transaction& trx, uint64_t& nonce_prefix, uint64_t& nonce); + /// The data of the next `sysio.noop::nonce` action, unique per generator, prefix and nonce. sysio::chain::bytes make_noop_nonce_data(uint64_t& nonce_prefix, uint64_t& nonce) const; + /// Sets new headers on `trx` and signs it again with `priv_key`, dropping its old signatures. + void resign_transaction(sysio::chain::signed_transaction& trx, const fc::crypto::private_key& priv_key, + const fc::microseconds& trx_expiration, const sysio::chain::chain_id_type& chain_id, + const sysio::chain::block_id_type& last_irr_block_id); + signed_transaction_w_signer create_trx_w_actions_and_signer(std::vector&& act, const fc::crypto::private_key& priv_key, uint64_t& nonce_prefix, uint64_t& nonce, const fc::microseconds& trx_expiration, const sysio::chain::chain_id_type& chain_id, const sysio::chain::block_id_type& last_irr_block_id); diff --git a/tests/trx_generator/trx_generator_tests.cpp b/tests/trx_generator/trx_generator_tests.cpp index dd4ba75880..d451ae8aea 100644 --- a/tests/trx_generator/trx_generator_tests.cpp +++ b/tests/trx_generator/trx_generator_tests.cpp @@ -801,6 +801,46 @@ BOOST_AUTO_TEST_CASE(noop_nonce_action_is_optional) } } +/// The custom generator rebuilds its actions on every re-sign and appends a new sysio.noop nonce action after them. +BOOST_AUTO_TEST_CASE(noop_nonce_on_custom_actions) +{ + fc::temp_directory dir; + const std::string abi_file = write_abi_file(dir, transfer_abi); + const std::string action_auths = + fc::json::to_string(fc::mutable_variant_object()(std::string(noop_nonce_test_sender), noop_nonce_test_priv_key), + fc::time_point::maximum()); + const provider_base_config p_config{"http", "127.0.0.1", get_port(port_category::node_http)}; + const auto tg_config = noop_nonce_test_config(true); + + trx_generator generator{tg_config, p_config, {abi_file, transfer_actions_data(fixed_memo), action_auths}}; + BOOST_REQUIRE(generator.setup()); + BOOST_REQUIRE_EQUAL(generator._trxs.size(), 1u); + auto& trx = generator._trxs.front(); + BOOST_REQUIRE_EQUAL(trx._trx.actions.size(), 2u); + const auto transfer_data = trx._trx.actions.front().data; + auto previous_nonce = trx._trx.actions.back().data; + + for (int resign = 1; resign <= 2; ++resign) { + BOOST_TEST_CONTEXT("re-sign " << resign) { + generator.update_resign_transaction(trx._trx, trx._signer, generator._nonce_prefix, generator._nonce, + tg_config._trx_expiration_us, tg_config._chain_id, + tg_config._last_irr_block_id); + BOOST_TEST(trx._trx.context_free_actions.empty()); + BOOST_REQUIRE_EQUAL(trx._trx.actions.size(), 2u); + BOOST_TEST(trx._trx.actions.front().name == chain::name("transfer")); + BOOST_TEST(trx._trx.actions.front().data == transfer_data); + const auto& nonce_action = trx._trx.actions.back(); + BOOST_TEST(nonce_action.account == chain::name("sysio.noop")); + BOOST_TEST(nonce_action.name == chain::name("nonce")); + BOOST_TEST(nonce_action.authorization.empty()); + BOOST_TEST(nonce_action.data != previous_nonce); + BOOST_TEST(trx._trx.signatures.size() == 1u); + previous_nonce = nonce_action.data; + } + } + generator._provider.teardown(); +} + /// Without the nonce action, setup requires an ACCT_PER_TRX field, which makes every re-signed transaction unique. BOOST_AUTO_TEST_CASE(noop_nonce_off_requires_acct_per_trx) {