Address | Elector Contract |
Chain | Masterchain |
Contract Type | π Verfied source |
Contract Code Hash | Yhf4csmfr8uHDywRo2L1kzm+lQlfcNALnP8vbc1p090= |
;; Elector smartcontract
;; cur_elect credits past_elections grams active_id active_hash
(cell, cell, cell, int, int, int) load_data() inline_ref {
var cs = get_data().begin_parse();
var res = (cs~load_dict(), cs~load_dict(), cs~load_dict(), cs~load_grams(), cs~load_uint(32), cs~load_uint(256));
cs.end_parse();
return res;
}
;; cur_elect credits past_elections grams active_id active_hash
() store_data(elect, credits, past_elections, grams, active_id, active_hash) impure inline_ref {
set_data(begin_cell()
.store_dict(elect)
.store_dict(credits)
.store_dict(past_elections)
.store_grams(grams)
.store_uint(active_id, 32)
.store_uint(active_hash, 256)
.end_cell());
}
;; elect -> elect_at elect_close min_stake total_stake members failed finished
_ unpack_elect(elect) inline_ref {
var es = elect.begin_parse();
var res = (es~load_uint(32), es~load_uint(32), es~load_grams(), es~load_grams(), es~load_dict(), es~load_int(1), es~load_int(1));
es.end_parse();
return res;
}
cell pack_elect(elect_at, elect_close, min_stake, total_stake, members, failed, finished) inline_ref {
return begin_cell()
.store_uint(elect_at, 32)
.store_uint(elect_close, 32)
.store_grams(min_stake)
.store_grams(total_stake)
.store_dict(members)
.store_int(failed, 1)
.store_int(finished, 1)
.end_cell();
}
;; slice -> unfreeze_at stake_held vset_hash frozen_dict total_stake bonuses complaints
_ unpack_past_election(slice fs) inline_ref {
var res = (fs~load_uint(32), fs~load_uint(32), fs~load_uint(256), fs~load_dict(), fs~load_grams(), fs~load_grams(), fs~load_dict());
fs.end_parse();
return res;
}
builder pack_past_election(int unfreeze_at, int stake_held, int vset_hash, cell frozen_dict, int total_stake, int bonuses, cell complaints) inline_ref {
return begin_cell()
.store_uint(unfreeze_at, 32)
.store_uint(stake_held, 32)
.store_uint(vset_hash, 256)
.store_dict(frozen_dict)
.store_grams(total_stake)
.store_grams(bonuses)
.store_dict(complaints);
}
;; complaint_status#2d complaint:^ValidatorComplaint voters:(HashmapE 16 True)
;; vset_id:uint256 weight_remaining:int64 = ValidatorComplaintStatus;
_ unpack_complaint_status(slice cs) inline_ref {
throw_unless(9, cs~load_uint(8) == 0x2d);
var res = (cs~load_ref(), cs~load_dict(), cs~load_uint(256), cs~load_int(64));
cs.end_parse();
return res;
}
builder pack_complaint_status(cell complaint, cell voters, int vset_id, int weight_remaining) inline_ref {
return begin_cell()
.store_uint(0x2d, 8)
.store_ref(complaint)
.store_dict(voters)
.store_uint(vset_id, 256)
.store_int(weight_remaining, 64);
}
;; validator_complaint#bc validator_pubkey:uint256 description:^ComplaintDescr
;; created_at:uint32 severity:uint8 reward_addr:uint256 paid:Grams suggested_fine:Grams
;; suggested_fine_part:uint32 = ValidatorComplaint;
_ unpack_complaint(slice cs) inline_ref {
throw_unless(9, cs~load_int(8) == 0xbc - 0x100);
var res = (cs~load_uint(256), cs~load_ref(), cs~load_uint(32), cs~load_uint(8), cs~load_uint(256), cs~load_grams(), cs~load_grams(), cs~load_uint(32));
cs.end_parse();
return res;
}
builder pack_complaint(int validator_pubkey, cell description, int created_at, int severity, int reward_addr, int paid, int suggested_fine, int suggested_fine_part) inline_ref {
return begin_cell()
.store_int(0xbc - 0x100, 8)
.store_uint(validator_pubkey, 256)
.store_ref(description)
.store_uint(created_at, 32)
.store_uint(severity, 8)
.store_uint(reward_addr, 256)
.store_grams(paid)
.store_grams(suggested_fine)
.store_uint(suggested_fine_part, 32);
}
;; complaint_prices#1a deposit:Grams bit_price:Grams cell_price:Grams = ComplaintPricing;
(int, int, int) parse_complaint_prices(cell info) inline {
var cs = info.begin_parse();
throw_unless(9, cs~load_uint(8) == 0x1a);
var res = (cs~load_grams(), cs~load_grams(), cs~load_grams());
cs.end_parse();
return res;
}
;; deposit bit_price cell_price
(int, int, int) get_complaint_prices() inline_ref {
var info = config_param(13);
return info.null?() ? (1 << 36, 1, 512) : info.parse_complaint_prices();
}
;; elected_for elections_begin_before elections_end_before stake_held_for
(int, int, int, int) get_validator_conf() {
var cs = config_param(15).begin_parse();
return (cs~load_int(32), cs~load_int(32), cs~load_int(32), cs.preload_int(32));
}
;; next three functions return information about current validator set (config param #34)
;; they are borrowed from config-code.fc
(cell, int, cell) get_current_vset() inline_ref {
var vset = config_param(34);
var cs = begin_parse(vset);
;; validators_ext#12 utime_since:uint32 utime_until:uint32
;; total:(## 16) main:(## 16) { main <= total } { main >= 1 }
;; total_weight:uint64
throw_unless(40, cs~load_uint(8) == 0x12);
cs~skip_bits(32 + 32 + 16 + 16);
var (total_weight, dict) = (cs~load_uint(64), cs~load_dict());
cs.end_parse();
return (vset, total_weight, dict);
}
(slice, int) get_validator_descr(int idx) inline_ref {
var (vset, total_weight, dict) = get_current_vset();
var (value, _) = dict.udict_get?(16, idx);
return (value, total_weight);
}
(int, int) unpack_validator_descr(slice cs) inline {
;; ed25519_pubkey#8e81278a pubkey:bits256 = SigPubKey;
;; validator#53 public_key:SigPubKey weight:uint64 = ValidatorDescr;
;; validator_addr#73 public_key:SigPubKey weight:uint64 adnl_addr:bits256 = ValidatorDescr;
throw_unless(41, (cs~load_uint(8) & ~ 0x20) == 0x53);
throw_unless(41, cs~load_uint(32) == 0x8e81278a);
return (cs~load_uint(256), cs~load_uint(64));
}
() send_message_back(addr, ans_tag, query_id, body, grams, mode) impure inline_ref {
;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool src:MsgAddress -> 011000
var msg = begin_cell()
.store_uint(0x18, 6)
.store_slice(addr)
.store_grams(grams)
.store_uint(0, 1 + 4 + 4 + 64 + 32 + 1 + 1)
.store_uint(ans_tag, 32)
.store_uint(query_id, 64);
if (body >= 0) {
msg~store_uint(body, 32);
}
send_raw_message(msg.end_cell(), mode);
}
() return_stake(addr, query_id, reason) impure inline_ref {
return send_message_back(addr, 0xee6f454c, query_id, reason, 0, 64);
}
() send_confirmation(addr, query_id, comment) impure inline_ref {
return send_message_back(addr, 0xf374484c, query_id, comment, 1000000000, 2);
}
() send_validator_set_to_config(config_addr, vset, query_id) impure inline_ref {
var msg = begin_cell()
.store_uint(0xc4ff, 17) ;; 0 11000100 0xff
.store_uint(config_addr, 256)
.store_grams(1 << 30) ;; ~1 gram of value to process and obtain answer
.store_uint(0, 1 + 4 + 4 + 64 + 32 + 1 + 1)
.store_uint(0x4e565354, 32)
.store_uint(query_id, 64)
.store_ref(vset);
send_raw_message(msg.end_cell(), 1);
}
;; credits 'amount' to 'addr' inside credit dictionary 'credits'
_ ~credit_to(credits, addr, amount) inline_ref {
var (val, f) = credits.udict_get?(256, addr);
if (f) {
amount += val~load_grams();
}
credits~udict_set_builder(256, addr, begin_cell().store_grams(amount));
return (credits, ());
}
() process_new_stake(s_addr, msg_value, cs, query_id) impure inline_ref {
var (src_wc, src_addr) = parse_std_addr(s_addr);
var ds = get_data().begin_parse();
var elect = ds~load_dict();
if (elect.null?() | (src_wc + 1)) {
;; no elections active, or source is not in masterchain
;; bounce message
return return_stake(s_addr, query_id, 0);
}
;; parse the remainder of new stake message
var validator_pubkey = cs~load_uint(256);
var stake_at = cs~load_uint(32);
var max_factor = cs~load_uint(32);
var adnl_addr = cs~load_uint(256);
var signature = cs~load_ref().begin_parse().preload_bits(512);
cs.end_parse();
ifnot (check_data_signature(begin_cell()
.store_uint(0x654c5074, 32)
.store_uint(stake_at, 32)
.store_uint(max_factor, 32)
.store_uint(src_addr, 256)
.store_uint(adnl_addr, 256)
.end_cell().begin_parse(), signature, validator_pubkey)) {
;; incorrect signature, return stake
return return_stake(s_addr, query_id, 1);
}
if (max_factor < 0x10000) {
;; factor must be >= 1. = 65536/65536
return return_stake(s_addr, query_id, 6);
}
;; parse current election data
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
;; elect_at~dump();
msg_value -= 1000000000; ;; deduct GR$1 for sending confirmation
if ((msg_value << 12) < total_stake) {
;; stake smaller than 1/4096 of the total accumulated stakes, return
return return_stake(s_addr, query_id, 2);
}
total_stake += msg_value; ;; (provisionally) increase total stake
if (stake_at != elect_at) {
;; stake for some other elections, return
return return_stake(s_addr, query_id, 3);
}
if (finished) {
;; elections already finished, return stake
return return_stake(s_addr, query_id, 0);
}
var (mem, found) = members.udict_get?(256, validator_pubkey);
if (found) {
;; entry found, merge stakes
msg_value += mem~load_grams();
mem~load_uint(64); ;; skip timestamp and max_factor
found = (src_addr != mem~load_uint(256));
}
if (found) {
;; can make stakes for a public key from one address only
return return_stake(s_addr, query_id, 4);
}
if (msg_value < min_stake) {
;; stake too small, return it
return return_stake(s_addr, query_id, 5);
}
throw_unless(44, msg_value);
accept_message();
;; store stake in the dictionary
members~udict_set_builder(256, validator_pubkey, begin_cell()
.store_grams(msg_value)
.store_uint(now(), 32)
.store_uint(max_factor, 32)
.store_uint(src_addr, 256)
.store_uint(adnl_addr, 256));
;; gather and save election data
elect = pack_elect(elect_at, elect_close, min_stake, total_stake, members, false, false);
set_data(begin_cell().store_dict(elect).store_slice(ds).end_cell());
;; return confirmation message
if (query_id) {
return send_confirmation(s_addr, query_id, 0);
}
return ();
}
(cell, int) unfreeze_without_bonuses(credits, freeze_dict, tot_stakes) inline_ref {
var total = var recovered = 0;
var pubkey = -1;
do {
(pubkey, var cs, var f) = freeze_dict.udict_get_next?(256, pubkey);
if (f) {
var (addr, weight, stake, banned) = (cs~load_uint(256), cs~load_uint(64), cs~load_grams(), cs~load_int(1));
cs.end_parse();
if (banned) {
recovered += stake;
} else {
credits~credit_to(addr, stake);
}
total += stake;
}
} until (~ f);
throw_unless(59, total == tot_stakes);
return (credits, recovered);
}
(cell, int) unfreeze_with_bonuses(credits, freeze_dict, tot_stakes, tot_bonuses) inline_ref {
var total = var recovered = var returned_bonuses = 0;
var pubkey = -1;
do {
(pubkey, var cs, var f) = freeze_dict.udict_get_next?(256, pubkey);
if (f) {
var (addr, weight, stake, banned) = (cs~load_uint(256), cs~load_uint(64), cs~load_grams(), cs~load_int(1));
cs.end_parse();
if (banned) {
recovered += stake;
} else {
var bonus = muldiv(tot_bonuses, stake, tot_stakes);
returned_bonuses += bonus;
credits~credit_to(addr, stake + bonus);
}
total += stake;
}
} until (~ f);
throw_unless(59, (total == tot_stakes) & (returned_bonuses <= tot_bonuses));
return (credits, recovered + tot_bonuses - returned_bonuses);
}
int stakes_sum(frozen_dict) inline_ref {
var total = 0;
var pubkey = -1;
do {
(pubkey, var cs, var f) = frozen_dict.udict_get_next?(256, pubkey);
if (f) {
cs~skip_bits(256 + 64);
total += cs~load_grams();
}
} until (~ f);
return total;
}
_ unfreeze_all(credits, past_elections, elect_id) inline_ref {
var (fs, f) = past_elections~udict_delete_get?(32, elect_id);
ifnot (f) {
;; no elections with this id
return (credits, past_elections, 0);
}
var (unfreeze_at, stake_held, vset_hash, fdict, tot_stakes, bonuses, complaints) = fs.unpack_past_election();
;; tot_stakes = fdict.stakes_sum(); ;; TEMP BUGFIX
var unused_prizes = (bonuses > 0) ?
credits~unfreeze_with_bonuses(fdict, tot_stakes, bonuses) :
credits~unfreeze_without_bonuses(fdict, tot_stakes);
return (credits, past_elections, unused_prizes);
}
() config_set_confirmed(s_addr, cs, query_id, ok) impure inline_ref {
var (src_wc, src_addr) = parse_std_addr(s_addr);
var config_addr = config_param(0).begin_parse().preload_uint(256);
var ds = get_data().begin_parse();
var elect = ds~load_dict();
if ((src_wc + 1) | (src_addr != config_addr) | elect.null?()) {
;; not from config smc, somebody's joke?
;; or no elections active (or just completed)
return ();
}
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
if ((elect_at != query_id) | ~ finished) {
;; not these elections, or elections not finished yet
return ();
}
accept_message();
ifnot (ok) {
;; cancel elections, return stakes
var (credits, past_elections, grams) = (ds~load_dict(), ds~load_dict(), ds~load_grams());
(credits, past_elections, var unused_prizes) = unfreeze_all(credits, past_elections, elect_at);
set_data(begin_cell()
.store_int(false, 1)
.store_dict(credits)
.store_dict(past_elections)
.store_grams(grams + unused_prizes)
.store_slice(ds)
.end_cell());
}
;; ... do not remove elect until we see this set as the next elected validator set
}
() process_simple_transfer(s_addr, msg_value) impure inline_ref {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
(int src_wc, int src_addr) = parse_std_addr(s_addr);
if (src_addr | (src_wc + 1) | (active_id == 0)) {
;; simple transfer to us (credit "nobody's" account)
;; (or no known active validator set)
grams += msg_value;
return store_data(elect, credits, past_elections, grams, active_id, active_hash);
}
;; zero source address -1:00..00 (collecting validator fees)
var (fs, f) = past_elections.udict_get?(32, active_id);
ifnot (f) {
;; active validator set not found (?)
grams += msg_value;
} else {
;; credit active validator set bonuses
var (unfreeze_at, stake_held, hash, dict, total_stake, bonuses, complaints) = fs.unpack_past_election();
bonuses += msg_value;
past_elections~udict_set_builder(32, active_id,
pack_past_election(unfreeze_at, stake_held, hash, dict, total_stake, bonuses, complaints));
}
return store_data(elect, credits, past_elections, grams, active_id, active_hash);
}
() recover_stake(op, s_addr, cs, query_id) impure inline_ref {
(int src_wc, int src_addr) = parse_std_addr(s_addr);
if (src_wc + 1) {
;; not from masterchain, return error
return send_message_back(s_addr, 0xfffffffe, query_id, op, 0, 64);
}
var ds = get_data().begin_parse();
var (elect, credits) = (ds~load_dict(), ds~load_dict());
var (cs, f) = credits~udict_delete_get?(256, src_addr);
ifnot (f) {
;; no credit for sender, return error
return send_message_back(s_addr, 0xfffffffe, query_id, op, 0, 64);
}
var amount = cs~load_grams();
cs.end_parse();
;; save data
set_data(begin_cell().store_dict(elect).store_dict(credits).store_slice(ds).end_cell());
;; send amount to sender in a new message
send_raw_message(begin_cell()
.store_uint(0x18, 6)
.store_slice(s_addr)
.store_grams(amount)
.store_uint(0, 1 + 4 + 4 + 64 + 32 + 1 + 1)
.store_uint(0xf96f7324, 32)
.store_uint(query_id, 64)
.end_cell(), 64);
}
() after_code_upgrade(slice s_addr, slice cs, int query_id) impure method_id(1666) {
var op = 0x4e436f64;
return send_message_back(s_addr, 0xce436f64, query_id, op, 0, 64);
}
int upgrade_code(s_addr, cs, query_id) inline_ref {
var c_addr = config_param(0);
if (c_addr.null?()) {
;; no configuration smart contract known
return false;
}
var config_addr = c_addr.begin_parse().preload_uint(256);
var (src_wc, src_addr) = parse_std_addr(s_addr);
if ((src_wc + 1) | (src_addr != config_addr)) {
;; not from configuration smart contract, return error
return false;
}
accept_message();
var code = cs~load_ref();
set_code(code);
ifnot(cs.slice_empty?()) {
set_c3(code.begin_parse().bless());
after_code_upgrade(s_addr, cs, query_id);
throw(0);
}
return true;
}
int register_complaint(s_addr, complaint, msg_value) {
var (src_wc, src_addr) = parse_std_addr(s_addr);
if (src_wc + 1) { ;; not from masterchain, return error
return -1;
}
if (complaint.slice_depth() >= 128) {
return -3; ;; invalid complaint
}
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var election_id = complaint~load_uint(32);
var (fs, f) = past_elections.udict_get?(32, election_id);
ifnot (f) { ;; election not found
return -2;
}
var expire_in = fs.preload_uint(32) - now();
if (expire_in <= 0) { ;; already expired
return -4;
}
var (validator_pubkey, description, created_at, severity, reward_addr, paid, suggested_fine, suggested_fine_part) = unpack_complaint(complaint);
reward_addr = src_addr;
created_at = now();
;; compute complaint storage/creation price
var (deposit, bit_price, cell_price) = get_complaint_prices();
var (_, bits, refs) = slice_compute_data_size(complaint, 4096);
var pps = (bits + 1024) * bit_price + (refs + 2) * cell_price;
paid = pps * expire_in + deposit;
if (msg_value < paid + (1 << 30)) { ;; not enough money
return -5;
}
;; re-pack modified complaint
cell complaint = pack_complaint(validator_pubkey, description, created_at, severity, reward_addr, paid, suggested_fine, suggested_fine_part).end_cell();
var (unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints) = unpack_past_election(fs);
var (fs, f) = frozen_dict.udict_get?(256, validator_pubkey);
ifnot (f) { ;; no such validator, cannot complain
return -6;
}
fs~skip_bits(256 + 64); ;; addr weight
var validator_stake = fs~load_grams();
int fine = suggested_fine + muldiv(validator_stake, suggested_fine_part, 1 << 32);
if (fine > validator_stake) { ;; validator's stake is less than suggested fine
return -7;
}
if (fine <= paid) { ;; fine is less than the money paid for creating complaint
return -8;
}
;; create complaint status
var cstatus = pack_complaint_status(complaint, null(), 0, 0);
;; save complaint status into complaints
var cpl_id = complaint.cell_hash();
ifnot (complaints~udict_add_builder?(256, cpl_id, cstatus)) {
return -9; ;; complaint already exists
}
;; pack past election info
past_elections~udict_set_builder(32, election_id, pack_past_election(unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints));
;; pack persistent data
;; next line can be commented, but it saves a lot of stack manipulations
var (elect, credits, _, grams, active_id, active_hash) = load_data();
store_data(elect, credits, past_elections, grams, active_id, active_hash);
return paid;
}
(cell, cell, int, int) punish(credits, frozen, complaint) inline_ref {
var (validator_pubkey, description, created_at, severity, reward_addr, paid, suggested_fine, suggested_fine_part) = complaint.begin_parse().unpack_complaint();
var (cs, f) = frozen.udict_get?(256, validator_pubkey);
ifnot (f) {
;; no validator to punish
return (credits, frozen, 0, 0);
}
var (addr, weight, stake, banned) = (cs~load_uint(256), cs~load_uint(64), cs~load_grams(), cs~load_int(1));
cs.end_parse();
int fine = min(stake, suggested_fine + muldiv(stake, suggested_fine_part, 1 << 32));
stake -= fine;
frozen~udict_set_builder(256, validator_pubkey, begin_cell()
.store_uint(addr, 256)
.store_uint(weight, 64)
.store_grams(stake)
.store_int(banned, 1));
int reward = min(fine >> 3, paid * 8);
credits~credit_to(reward_addr, reward);
return (credits, frozen, fine - reward, fine);
}
(cell, cell, int) register_vote(complaints, chash, idx, weight) inline_ref {
var (cstatus, found?) = complaints.udict_get?(256, chash);
ifnot (found?) {
;; complaint not found
return (complaints, null(), -1);
}
var (cur_vset, total_weight, _) = get_current_vset();
int cur_vset_id = cur_vset.cell_hash();
var (complaint, voters, vset_id, weight_remaining) = unpack_complaint_status(cstatus);
int vset_old? = (vset_id != cur_vset_id);
if ((weight_remaining < 0) & vset_old?) {
;; previous validator set already collected 2/3 votes, skip new votes
return (complaints, null(), -3);
}
if (vset_old?) {
;; complaint votes belong to a previous validator set, reset voting
vset_id = cur_vset_id;
voters = null();
weight_remaining = muldiv(total_weight, 2, 3);
}
var (_, found?) = voters.udict_get?(16, idx);
if (found?) {
;; already voted for this proposal, ignore vote
return (complaints, null(), 0);
}
;; register vote
voters~udict_set_builder(16, idx, begin_cell().store_uint(now(), 32));
int old_wr = weight_remaining;
weight_remaining -= weight;
old_wr ^= weight_remaining;
;; save voters and weight_remaining
complaints~udict_set_builder(256, chash, pack_complaint_status(complaint, voters, vset_id, weight_remaining));
if (old_wr >= 0) {
;; not enough votes or already accepted
return (complaints, null(), 1);
}
;; complaint wins, prepare punishment
return (complaints, complaint, 2);
}
int proceed_register_vote(election_id, chash, idx, weight) impure inline_ref {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var (fs, f) = past_elections.udict_get?(32, election_id);
ifnot (f) { ;; election not found
return -2;
}
var (unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints) = unpack_past_election(fs);
(complaints, var accepted_complaint, var status) = register_vote(complaints, chash, idx, weight);
if (status <= 0) {
return status;
}
ifnot (accepted_complaint.null?()) {
(credits, frozen_dict, int fine_unalloc, int fine_collected) = punish(credits, frozen_dict, accepted_complaint);
grams += fine_unalloc;
total_stake -= fine_collected;
}
past_elections~udict_set_builder(32, election_id, pack_past_election(unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints));
store_data(elect, credits, past_elections, grams, active_id, active_hash);
return status;
}
() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure {
;; do nothing for internal messages
var cs = in_msg_cell.begin_parse();
var flags = cs~load_uint(4); ;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool
if (flags & 1) {
;; ignore all bounced messages
return ();
}
var s_addr = cs~load_msg_addr();
if (in_msg.slice_empty?()) {
;; inbound message has empty body
return process_simple_transfer(s_addr, msg_value);
}
int op = in_msg~load_uint(32);
if (op == 0) {
;; simple transfer with comment, return
return process_simple_transfer(s_addr, msg_value);
}
int query_id = in_msg~load_uint(64);
if (op == 0x4e73744b) {
;; new stake message
return process_new_stake(s_addr, msg_value, in_msg, query_id);
}
if (op == 0x47657424) {
;; recover stake request
return recover_stake(op, s_addr, in_msg, query_id);
}
if (op == 0x4e436f64) {
;; upgrade code (accepted only from configuration smart contract)
var ok = upgrade_code(s_addr, in_msg, query_id);
return send_message_back(s_addr, ok ? 0xce436f64 : 0xffffffff, query_id, op, 0, 64);
}
var cfg_ok = (op == 0xee764f4b);
if (cfg_ok | (op == 0xee764f6f)) {
;; confirmation from configuration smart contract
return config_set_confirmed(s_addr, in_msg, query_id, cfg_ok);
}
if (op == 0x52674370) {
;; new complaint
var price = register_complaint(s_addr, in_msg, msg_value);
int mode = 64;
int ans_tag = - price;
if (price >= 0) {
;; ok, debit price
raw_reserve(price, 4);
ans_tag = 0;
mode = 128;
}
return send_message_back(s_addr, ans_tag + 0xf2676350, query_id, op, 0, mode);
}
if (op == 0x56744370) {
;; vote for a complaint
var signature = in_msg~load_bits(512);
var msg_body = in_msg;
var (sign_tag, idx, elect_id, chash) = (in_msg~load_uint(32), in_msg~load_uint(16), in_msg~load_uint(32), in_msg~load_uint(256));
in_msg.end_parse();
throw_unless(37, sign_tag == 0x56744350);
var (vdescr, total_weight) = get_validator_descr(idx);
var (val_pubkey, weight) = unpack_validator_descr(vdescr);
throw_unless(34, check_data_signature(msg_body, signature, val_pubkey));
int res = proceed_register_vote(elect_id, chash, idx, weight);
return send_message_back(s_addr, res + 0xd6745240, query_id, op, 0, 64);
}
ifnot (op & (1 << 31)) {
;; unknown query, return error
return send_message_back(s_addr, 0xffffffff, query_id, op, 0, 64);
}
;; unknown answer, ignore
return ();
}
int postpone_elections() impure {
return false;
}
;; computes the total stake out of the first n entries of list l
_ compute_total_stake(l, n, m_stake) inline_ref {
int tot_stake = 0;
repeat (n) {
(var h, l) = uncons(l);
var stake = h.at(0);
var max_f = h.at(1);
stake = min(stake, (max_f * m_stake) >> 16);
tot_stake += stake;
}
return tot_stake;
}
(cell, cell, int, cell, int, int) try_elect(credits, members, min_stake, max_stake, min_total_stake, max_stake_factor) {
var cs = 16.config_param().begin_parse();
var (max_validators, _, min_validators) = (cs~load_uint(16), cs~load_uint(16), cs~load_uint(16));
cs.end_parse();
min_validators = max(min_validators, 1);
int n = 0;
var sdict = new_dict();
var pubkey = -1;
do {
(pubkey, var cs, var f) = members.udict_get_next?(256, pubkey);
if (f) {
var (stake, time, max_factor, addr, adnl_addr) = (cs~load_grams(), cs~load_uint(32), cs~load_uint(32), cs~load_uint(256), cs~load_uint(256));
cs.end_parse();
var key = begin_cell()
.store_uint(stake, 128)
.store_int(- time, 32)
.store_uint(pubkey, 256)
.end_cell().begin_parse();
sdict~dict_set_builder(128 + 32 + 256, key, begin_cell()
.store_uint(min(max_factor, max_stake_factor), 32)
.store_uint(addr, 256)
.store_uint(adnl_addr, 256));
n += 1;
}
} until (~ f);
n = min(n, max_validators);
if (n < min_validators) {
return (credits, new_dict(), 0, new_dict(), 0, 0);
}
var l = nil;
do {
var (key, cs, f) = sdict~dict::delete_get_min(128 + 32 + 256);
if (f) {
var (stake, _, pubkey) = (min(key~load_uint(128), max_stake), key~load_uint(32), key.preload_uint(256));
var (max_f, _, adnl_addr) = (cs~load_uint(32), cs~load_uint(256), cs.preload_uint(256));
l = cons([stake, max_f, pubkey, adnl_addr], l);
}
} until (~ f);
;; l is the list of all stakes in decreasing order
int i = min_validators - 1;
var l1 = l;
repeat (i) {
l1 = cdr(l1);
}
var (best_stake, m) = (0, 0);
do {
var stake = l1~list_next().at(0);
i += 1;
if (stake >= min_stake) {
var tot_stake = compute_total_stake(l, i, stake);
if (tot_stake > best_stake) {
(best_stake, m) = (tot_stake, i);
}
}
} until (i >= n);
if ((m == 0) | (best_stake < min_total_stake)) {
return (credits, new_dict(), 0, new_dict(), 0, 0);
}
;; we have to select first m validators from list l
l1 = touch(l);
;; l1~dump(); ;; DEBUG
repeat (m - 1) {
l1 = cdr(l1);
}
var m_stake = car(l1).at(0); ;; minimal stake
;; create both the new validator set and the refund set
int i = 0;
var tot_stake = 0;
var tot_weight = 0;
var vset = new_dict();
var frozen = new_dict();
do {
var [stake, max_f, pubkey, adnl_addr] = l~list_next();
;; lookup source address first
var (val, f) = members.udict_get?(256, pubkey);
throw_unless(61, f);
(_, _, var src_addr) = (val~load_grams(), val~load_uint(64), val.preload_uint(256));
if (i < m) {
;; one of the first m members, include into validator set
var true_stake = min(stake, (max_f * m_stake) >> 16);
stake -= true_stake;
;; ed25519_pubkey#8e81278a pubkey:bits256 = SigPubKey; // 288 bits
;; validator_addr#73 public_key:SigPubKey weight:uint64 adnl_addr:bits256 = ValidatorDescr;
var weight = (true_stake << 60) / best_stake;
tot_stake += true_stake;
tot_weight += weight;
var vinfo = begin_cell()
.store_uint(adnl_addr ? 0x73 : 0x53, 8) ;; validator_addr#73 or validator#53
.store_uint(0x8e81278a, 32) ;; ed25519_pubkey#8e81278a
.store_uint(pubkey, 256) ;; pubkey:bits256
.store_uint(weight, 64); ;; weight:uint64
if (adnl_addr) {
vinfo~store_uint(adnl_addr, 256); ;; adnl_addr:bits256
}
vset~udict_set_builder(16, i, vinfo);
frozen~udict_set_builder(256, pubkey, begin_cell()
.store_uint(src_addr, 256)
.store_uint(weight, 64)
.store_grams(true_stake)
.store_int(false, 1));
}
if (stake) {
;; non-zero unused part of the stake, credit to the source address
credits~credit_to(src_addr, stake);
}
i += 1;
} until (l.null?());
throw_unless(49, tot_stake == best_stake);
return (credits, vset, tot_weight, frozen, tot_stake, m);
}
int conduct_elections(ds, elect, credits) impure {
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
if (now() < elect_close) {
;; elections not finished yet
return false;
}
if (config_param(0).null?()) {
;; no configuration smart contract to send result to
return postpone_elections();
}
var cs = config_param(17).begin_parse();
min_stake = cs~load_grams();
var max_stake = cs~load_grams();
var min_total_stake = cs~load_grams();
var max_stake_factor = cs~load_uint(32);
cs.end_parse();
if (total_stake < min_total_stake) {
;; insufficient total stake, postpone elections
return postpone_elections();
}
if (failed) {
;; do not retry failed elections until new stakes arrive
return postpone_elections();
}
if (finished) {
;; elections finished
return false;
}
(credits, var vdict, var total_weight, var frozen, var total_stakes, var cnt) = try_elect(credits, members, min_stake, max_stake, min_total_stake, max_stake_factor);
;; pack elections; if cnt==0, set failed=true, finished=false.
failed = (cnt == 0);
finished = ~ failed;
elect = pack_elect(elect_at, elect_close, min_stake, total_stake, members, failed, finished);
ifnot (cnt) {
;; elections failed, set elect_failed to true
set_data(begin_cell().store_dict(elect).store_dict(credits).store_slice(ds).end_cell());
return postpone_elections();
}
;; serialize a query to the configuration smart contract
;; to install the computed validator set as the next validator set
var (elect_for, elect_begin_before, elect_end_before, stake_held) = get_validator_conf();
var start = max(now() + elect_end_before - 60, elect_at);
var main_validators = config_param(16).begin_parse().skip_bits(16).preload_uint(16);
var vset = begin_cell()
.store_uint(0x12, 8) ;; validators_ext#12
.store_uint(start, 32) ;; utime_since:uint32
.store_uint(start + elect_for, 32) ;; utime_until:uint32
.store_uint(cnt, 16) ;; total:(## 16)
.store_uint(min(cnt, main_validators), 16) ;; main:(## 16)
.store_uint(total_weight, 64) ;; total_weight:uint64
.store_dict(vdict) ;; list:(HashmapE 16 ValidatorDescr)
.end_cell();
var config_addr = config_param(0).begin_parse().preload_uint(256);
send_validator_set_to_config(config_addr, vset, elect_at);
;; add frozen to the dictionary of past elections
var past_elections = ds~load_dict();
past_elections~udict_set_builder(32, elect_at, pack_past_election(
start + elect_for + stake_held, stake_held, vset.cell_hash(),
frozen, total_stakes, 0, null()));
;; store credits and frozen until end
set_data(begin_cell()
.store_dict(elect)
.store_dict(credits)
.store_dict(past_elections)
.store_slice(ds)
.end_cell());
return true;
}
int update_active_vset_id() impure {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var cur_hash = config_param(34).cell_hash();
if (cur_hash == active_hash) {
;; validator set unchanged
return false;
}
if (active_id) {
;; active_id becomes inactive
var (fs, f) = past_elections.udict_get?(32, active_id);
if (f) {
;; adjust unfreeze time of this validator set
var unfreeze_time = fs~load_uint(32);
var fs0 = fs;
var (stake_held, hash) = (fs~load_uint(32), fs~load_uint(256));
throw_unless(57, hash == active_hash);
unfreeze_time = now() + stake_held;
past_elections~udict_set_builder(32, active_id, begin_cell()
.store_uint(unfreeze_time, 32)
.store_slice(fs0));
}
}
;; look up new active_id by hash
var id = -1;
do {
(id, var fs, var f) = past_elections.udict_get_next?(32, id);
if (f) {
var (tm, hash) = (fs~load_uint(64), fs~load_uint(256));
if (hash == cur_hash) {
;; parse more of this record
var (dict, total_stake, bonuses) = (fs~load_dict(), fs~load_grams(), fs~load_grams());
;; transfer 1/8 of accumulated everybody's grams to this validator set as bonuses
var amount = (grams >> 3);
grams -= amount;
bonuses += amount;
;; serialize back
past_elections~udict_set_builder(32, id, begin_cell()
.store_uint(tm, 64)
.store_uint(hash, 256)
.store_dict(dict)
.store_grams(total_stake)
.store_grams(bonuses)
.store_slice(fs));
;; found
f = false;
}
}
} until (~ f);
active_id = (id.null?() ? 0 : id);
active_hash = cur_hash;
store_data(elect, credits, past_elections, grams, active_id, active_hash);
return true;
}
int cell_hash_eq?(cell vset, int expected_vset_hash) inline_ref {
return vset.null?() ? false : cell_hash(vset) == expected_vset_hash;
}
int validator_set_installed(ds, elect, credits) impure {
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
ifnot (finished) {
;; elections not finished yet
return false;
}
var past_elections = ds~load_dict();
var (fs, f) = past_elections.udict_get?(32, elect_at);
ifnot (f) {
;; no election data in dictionary
return false;
}
;; recover validator set hash
var vset_hash = fs.skip_bits(64).preload_uint(256);
if (config_param(34).cell_hash_eq?(vset_hash) | config_param(36).cell_hash_eq?(vset_hash)) {
;; this validator set has been installed, forget elections
set_data(begin_cell()
.store_int(false, 1) ;; forget current elections
.store_dict(credits)
.store_dict(past_elections)
.store_slice(ds)
.end_cell());
update_active_vset_id();
return true;
}
return false;
}
int check_unfreeze() impure {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
int id = -1;
do {
(id, var fs, var f) = past_elections.udict_get_next?(32, id);
if (f) {
var unfreeze_at = fs~load_uint(32);
if ((unfreeze_at <= now()) & (id != active_id)) {
;; unfreeze!
(credits, past_elections, var unused_prizes) = unfreeze_all(credits, past_elections, id);
grams += unused_prizes;
;; unfreeze only one at time, exit loop
store_data(elect, credits, past_elections, grams, active_id, active_hash);
;; exit loop
f = false;
}
}
} until (~ f);
return ~ id.null?();
}
int announce_new_elections(ds, elect, credits) {
var next_vset = config_param(36); ;; next validator set
ifnot (next_vset.null?()) {
;; next validator set exists, no elections needed
return false;
}
var elector_addr = config_param(1).begin_parse().preload_uint(256);
var (my_wc, my_addr) = my_address().parse_std_addr();
if ((my_wc + 1) | (my_addr != elector_addr)) {
;; this smart contract is not the elections smart contract anymore, no new elections
return false;
}
var cur_vset = config_param(34); ;; current validator set
if (cur_vset.null?()) {
return false;
}
var (elect_for, elect_begin_before, elect_end_before, stake_held) = get_validator_conf();
var cur_valid_until = cur_vset.begin_parse().skip_bits(8 + 32).preload_uint(32);
var t = now();
var t0 = cur_valid_until - elect_begin_before;
if (t < t0) {
;; too early for the next elections
return false;
}
;; less than elect_before_begin seconds left, create new elections
if (t - t0 < 60) {
;; pretend that the elections started at t0
t = t0;
}
;; get stake parameters
(_, var min_stake) = config_param(17).begin_parse().load_grams();
;; announce new elections
var elect_at = t + elect_begin_before;
;; elect_at~dump();
var elect_close = elect_at - elect_end_before;
elect = pack_elect(elect_at, elect_close, min_stake, 0, new_dict(), false, false);
set_data(begin_cell().store_dict(elect).store_dict(credits).store_slice(ds).end_cell());
return true;
}
() run_ticktock(int is_tock) impure {
;; check whether an election is being conducted
var ds = get_data().begin_parse();
var (elect, credits) = (ds~load_dict(), ds~load_dict());
ifnot (elect.null?()) {
;; have an active election
throw_if(0, conduct_elections(ds, elect, credits)); ;; elections conducted, exit
throw_if(0, validator_set_installed(ds, elect, credits)); ;; validator set installed, current elections removed
} else {
throw_if(0, announce_new_elections(ds, elect, credits)); ;; new elections announced, exit
}
throw_if(0, update_active_vset_id()); ;; active validator set id updated, exit
check_unfreeze();
}
;; Get methods
;; returns active election id or 0
int active_election_id() method_id {
var elect = get_data().begin_parse().preload_dict();
return elect.null?() ? 0 : elect.begin_parse().preload_uint(32);
}
;; checks whether a public key participates in current elections
int participates_in(int validator_pubkey) method_id {
var elect = get_data().begin_parse().preload_dict();
if (elect.null?()) {
return 0;
}
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
var (mem, found) = members.udict_get?(256, validator_pubkey);
return found ? mem~load_grams() : 0;
}
;; returns the list of all participants of current elections with their stakes
_ participant_list() method_id {
var elect = get_data().begin_parse().preload_dict();
if (elect.null?()) {
return nil;
}
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
var l = nil;
var id = (1 << 255) + ((1 << 255) - 1);
do {
(id, var fs, var f) = members.udict_get_prev?(256, id);
if (f) {
l = cons([id, fs~load_grams()], l);
}
} until (~ f);
return l;
}
;; returns the list of all participants of current elections with their data
_ participant_list_extended() method_id {
var elect = get_data().begin_parse().preload_dict();
if (elect.null?()) {
return (0, 0, 0, 0, nil, 0, 0);
}
var (elect_at, elect_close, min_stake, total_stake, members, failed, finished) = elect.unpack_elect();
var l = nil;
var id = (1 << 255) + ((1 << 255) - 1);
do {
(id, var cs, var f) = members.udict_get_prev?(256, id);
if (f) {
var (stake, time, max_factor, addr, adnl_addr) = (cs~load_grams(), cs~load_uint(32), cs~load_uint(32), cs~load_uint(256), cs~load_uint(256));
cs.end_parse();
l = cons([id, [stake, max_factor, addr, adnl_addr]], l);
}
} until (~ f);
return (elect_at, elect_close, min_stake, total_stake, l, failed, finished);
}
;; computes the return stake
int compute_returned_stake(int wallet_addr) method_id {
var cs = get_data().begin_parse();
(_, var credits) = (cs~load_dict(), cs~load_dict());
var (val, f) = credits.udict_get?(256, wallet_addr);
return f ? val~load_grams() : 0;
}
;; returns the list of past election ids
tuple past_election_ids() method_id {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var id = (1 << 32);
var list = null();
do {
(id, var fs, var f) = past_elections.udict_get_prev?(32, id);
if (f) {
list = cons(id, list);
}
} until (~ f);
return list;
}
tuple past_elections() method_id {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var id = (1 << 32);
var list = null();
do {
(id, var fs, var found) = past_elections.udict_get_prev?(32, id);
if (found) {
list = cons([id, unpack_past_election(fs)], list);
}
} until (~ found);
return list;
}
tuple past_elections_list() method_id {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var id = (1 << 32);
var list = null();
do {
(id, var fs, var found) = past_elections.udict_get_prev?(32, id);
if (found) {
var (unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints) = unpack_past_election(fs);
list = cons([id, unfreeze_at, vset_hash, stake_held], list);
}
} until (~ found);
return list;
}
_ complete_unpack_complaint(slice cs) inline_ref {
var (complaint, voters, vset_id, weight_remaining) = cs.unpack_complaint_status();
var voters_list = null();
var voter_id = (1 << 32);
do {
(voter_id, _, var f) = voters.udict_get_prev?(16, voter_id);
if (f) {
voters_list = cons(voter_id, voters_list);
}
} until (~ f);
return [[complaint.begin_parse().unpack_complaint()], voters_list, vset_id, weight_remaining];
}
cell get_past_complaints(int election_id) inline_ref method_id {
var (elect, credits, past_elections, grams, active_id, active_hash) = load_data();
var (fs, found?) = past_elections.udict_get?(32, election_id);
ifnot (found?) {
return null();
}
var (unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints) = unpack_past_election(fs);
return complaints;
}
_ show_complaint(int election_id, int chash) method_id {
var complaints = get_past_complaints(election_id);
var (cs, found) = complaints.udict_get?(256, chash);
return found ? complete_unpack_complaint(cs) : null();
}
tuple list_complaints(int election_id) method_id {
var complaints = get_past_complaints(election_id);
int id = (1 << 255) + ((1 << 255) - 1);
var list = null();
do {
(id, var cs, var found?) = complaints.udict_get_prev?(256, id);
if (found?) {
list = cons(pair(id, complete_unpack_complaint(cs)), list);
}
} until (~ found?);
return list;
}
int complaint_storage_price(int bits, int refs, int expire_in) method_id {
;; compute complaint storage/creation price
var (deposit, bit_price, cell_price) = get_complaint_prices();
var pps = (bits + 1024) * bit_price + (refs + 2) * cell_price;
var paid = pps * expire_in + deposit;
return paid + (1 << 30);
}
SETCP0
(:methods
recv_internal:
s0 s1 XCHG
CTOS
4 LDU
s0 s1 XCHG
1 PUSHINT
AND
<{
3 BLKDROP
}> PUSHCONT
IFJMP
LDMSGADDR
s0 POP
s1 PUSH
SEMPTY
<{
s1 POP
s0 s1 XCHG
<{
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s0 s7 XCHG
REWRITESTDADDR
s0 s1 XCHG
INC
OR
s1 PUSH
0 EQINT
OR
<{
s0 s5 XCHG
ADD
s3 s5 XCHG
2 3 BLKSWAP
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
}> PUSHCONT
IFJMP
s0 s2 PUSH2
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
s0 POP
s0 s5 XCHG
ADD
s0 s1 XCHG
}> PUSHCONT
<{
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s0 s12 XCHG
ADD
1 6 BLKSWAP
s0 s11 XCHG
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s1 s3 XCHG
256 STU
STDICT
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
}> CALLREF
0 5 2 XCPUXC
32 PUSHINT
DICTUSETB
}> IFREFELSE
s3 s5 XCHG
s1 s4 s3 XCHG3
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s0 s1 XCHG
32 LDU
s1 PUSH
0 EQINT
<{
2DROP
s0 s1 XCHG
<{
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s0 s7 XCHG
REWRITESTDADDR
s0 s1 XCHG
INC
OR
s1 PUSH
0 EQINT
OR
<{
s0 s5 XCHG
ADD
s3 s5 XCHG
2 3 BLKSWAP
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
}> PUSHCONT
IFJMP
s0 s2 PUSH2
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
s0 POP
s0 s5 XCHG
ADD
s0 s1 XCHG
}> PUSHCONT
<{
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s0 s12 XCHG
ADD
1 6 BLKSWAP
s0 s11 XCHG
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s1 s3 XCHG
256 STU
STDICT
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
}> CALLREF
0 5 2 XCPUXC
32 PUSHINT
DICTUSETB
}> IFREFELSE
s3 s5 XCHG
s1 s4 s3 XCHG3
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
64 LDU
s2 PUSH
1316189259 PUSHINT
EQUAL
<{
s2 POP
s2 s3 XCHG
<{
s3 PUSH
REWRITESTDADDR
c4 PUSH
CTOS
LDDICT
s1 PUSH
ISNULL
s0 s4 XCHG
INC
s1 s4 XCHG
OR
<{
s3 s5 XCHG
5 BLKDROP
0 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s0 s4 XCHG
256 LDU
32 LDU
32 LDU
256 LDU
LDREF
s0 s1 XCHG
CTOS
9 PUSHPOW2
PLDSLICEX
s0 s1 XCHG
ENDS
1699500148 PUSHINT
NEWC
32 STU
s4 s-1 PUXC
32 STU
s3 s-1 PUXC
32 STU
s6 s-1 PUXC
256 STU
s2 s-1 PUXC
256 STU
ENDC
CTOS
s1 s5 XCPU
CHKSIGNS
<{
s6 s8 XCHG
8 BLKDROP
1 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFNOTJMP
s1 PUSH
16 PUSHPOW2
LESS
<{
s6 s8 XCHG
8 BLKDROP
6 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s0 s7 XCHG
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
s1 POP
s0 s13 XCHG
1000000000 PUSHINT
SUB
s0 PUSH
12 LSHIFT
s3 PUSH
LESS
<{
s11 s13 XCHG
13 BLKDROP
2 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s2 s2 XCPU
ADD
s7 s5 XCPU
NEQ
<{
s10 s12 XCHG
12 BLKDROP
3 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s0 s12 XCHG
<{
s9 s11 XCHG
11 BLKDROP
0 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s6 s11 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
s0 PUSH
<{
s0 POP
LDGRAMS
ROTREV
ADD
s0 s1 XCHG
64 LDU
s1 POP
256 LDU
s0 POP
s8 s-1 PUXC
NEQ
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
<{
s9 s11 XCHG
11 BLKDROP
4 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s0 s1 PUSH2
LESS
<{
s9 s11 XCHG
11 BLKDROP
5 PUSHINT
<{
4000269644 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
s0 PUSH
44 THROWIFNOT
ACCEPT
NOW
NEWC
ROT
STGRAMS
32 STU
s1 s4 XCHG
32 STU
s1 s6 XCHG
256 STU
s1 s8 XCHG
256 STU
s0 s3 s8 XCHG3
8 PUSHPOW2
DICTUSETB
s4 s5 XCHG
s1 s3 s0 XCHG3
s1 s6 XCHG
0 PUSHINT
0 PUSHINT
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s0 s3 XCHG2
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
1 STI
1 STI
ENDC
}> CALLREF
NEWC
STDICT
ROT
STSLICER
ENDC
c4 POP
s0 PUSH
<{
0 PUSHINT
<{
4084484172 PUSHINT
ROTREV
1000000000 PUSHINT
2 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> CALLREF
}> PUSHCONT
IFJMP
2DROP
}> CALLREF
}> PUSHCONT
IFJMP
s2 PUSH
1197831204 PUSHINT
EQUAL
<{
s4 POP
s1 s3 XCHG
<{
s1 POP
s1 PUSH
REWRITESTDADDR
s0 s1 XCHG
INC
<{
s0 POP
4294967294 PUSHINT
s0 s1 s3 XCHG3
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> PUSHCONT
IFJMP
c4 PUSH
CTOS
LDDICT
LDDICT
s3 s3 XCHG2
8 PUSHPOW2
DICTUDELGET
NULLSWAPIFNOT
<{
4 BLKDROP
4294967294 PUSHINT
s0 s1 s3 XCHG3
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> PUSHCONT
IFNOTJMP
s6 POP
s0 s5 XCHG
LDGRAMS
ENDS
s0 s1 XCHG
NEWC
STDICT
s1 s5 XCHG
STDICT
s0 s1 XCHG
STSLICER
ENDC
c4 POP
4184830756 PUSHINT
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s4 XCHG2
STSLICER
s0 s4 XCHG2
STGRAMS
s1 s2 XCHG
107 STU
s1 s2 XCHG
32 STU
64 STU
ENDC
64 PUSHINT
SENDRAWMSG
}> CALLREF
}> PUSHCONT
IFJMP
s2 PUSH
1313042276 PUSHINT
EQUAL
<{
s4 POP
2 3 3 PUXCPU
<{
0 PUSHINT
CONFIGOPTPARAM
s0 PUSH
ISNULL
<{
4 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
CTOS
256 PLDU
s3 PUSH
REWRITESTDADDR
s0 s1 XCHG
INC
s0 s2 XCHG
NEQ
OR
<{
3 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
ACCEPT
s0 s1 XCHG
LDREF
s1 PUSH
SETCODE
s0 PUSH
SEMPTY
<{
4 BLKDROP
}> PUSHCONT
<{
s0 s1 XCHG
CTOS
BLESS
c3 POP
s0 s1 XCHG
1666 CALL
0 THROW
}> PUSHCONT
IFELSE
-1 PUSHINT
}> CALLREF
<{
3460525924 PUSHINT
}> PUSHCONT
<{
32 PUSHPOW2DEC
}> PUSHCONT
IFELSE
s0 s3 s3 XCHG3
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> PUSHCONT
IFJMP
s2 PUSH
4000730955 PUSHINT
EQUAL
s3 PUSH
4000730991 PUSHINT
EQUAL
s1 s-1 PUXC
OR
<{
s3 POP
s4 POP
s3 s0 s0 XCHG3
<{
s2 POP
s0 s2 XCHG
REWRITESTDADDR
0 PUSHINT
CONFIGOPTPARAM
CTOS
256 PLDU
c4 PUSH
CTOS
LDDICT
s0 s4 XCHG
INC
2SWAP
NEQ
OR
s1 PUSH
ISNULL
OR
<{
4 BLKDROP
}> PUSHCONT
IFJMP
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
5 1 BLKDROP2
s1 s4 PUXC
NEQ
s0 s4 XCHG
NOT
s1 s4 XCHG
OR
<{
3 BLKDROP
}> PUSHCONT
IFJMP
ACCEPT
s0 s1 XCHG
<{
2DROP
}> PUSHCONT
<{
LDDICT
LDDICT
LDGRAMS
s3 s3 s4 XCHG3
<{
s0 s1 XCHG
32 PUSHINT
DICTUDELGET
NULLSWAPIFNOT
<{
s0 POP
0 PUSHINT
}> PUSHCONT
IFNOTJMP
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s0 POP
3 3 BLKDROP2
s0 PUSH
0 GTINT
<{
s3 s4 XCHG
<{
0 PUSHINT
s0 s0 PUSH2
-1 PUSHINT
<{
s6 PUSH
8 PUSHPOW2
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
256 LDU
64 LDU
s1 POP
LDGRAMS
1 LDI
ENDS
<{
s1 POP
s3 s3 XCPU
ADD
}> PUSHCONT
<{
7 0 8 PUSH3
MULDIV QOUT
s6 s6 XCPU
ADD
s1 s6 PUXC
ADD
s11 s11 s0 XCHG3
<{
s1 s2 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
ADD
}> PUSHCONT
<{
s0 POP
}> PUSHCONT
IFELSE
NEWC
s0 s1 XCHG
STGRAMS
s0 s2 XCHG
8 PUSHPOW2
DICTUSETB
}> CALLREF
s0 s9 XCHG
s0 s3 XCHG
}> PUSHCONT
IFELSE
s5 s3 XCHG2
ADD
s0 s4 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s5 POP
s0 s3 XCHG
EQUAL
s2 s1 PUSH2
LEQ
AND
59 THROWIFNOT
s1 s2 XCHG
ADD
s0 s1 XCHG
SUB
}> CALLREF
}> PUSHCONT
<{
s0 POP
s2 s3 XCHG
<{
0 PUSHINT
s0 PUSH
-1 PUSHINT
<{
s4 PUSH
8 PUSHPOW2
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
256 LDU
64 LDU
s1 POP
LDGRAMS
1 LDI
ENDS
<{
s1 POP
s3 s3 XCPU
ADD
}> PUSHCONT
<{
8 8 8 XC2PU
<{
s1 s2 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
ADD
}> PUSHCONT
<{
s0 POP
}> PUSHCONT
IFELSE
NEWC
s0 s1 XCHG
STGRAMS
s0 s2 XCHG
8 PUSHPOW2
DICTUSETB
}> CALLREF
s0 s7 XCHG
s0 s3 XCHG
}> PUSHCONT
IFELSE
s4 s3 XCHG2
ADD
s0 s3 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s3 POP
s0 s1 XCHG
EQUAL
59 THROWIFNOT
}> CALLREF
}> PUSHCONT
IFELSE
s1 s2 XCHG
}> CALLREF
0 PUSHINT
NEWC
1 STI
s1 s3 XCHG
STDICT
STDICT
ROTREV
ADD
STGRAMS
s0 s1 XCHG
STSLICER
ENDC
c4 POP
}> PUSHCONT
IFELSE
}> CALLREF
}> PUSHCONT
IFJMP
s0 POP
s2 PUSH
1382499184 PUSHINT
EQUAL
<{
3 0 4 PUXC2
31 CALLDICT
64 PUSHINT
s1 PUSH
NEGATE
s2 PUSH
-1 GTINT
<{
2DROP
4 PUSHINT
RAWRESERVE
0 PUSHINT
7 PUSHPOW2
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
4066861904 PUSHINT
ADD
s0 s3 XCHG
s4 s4 s4 XCHG3
0 PUSHINT
s0 s1 XCHG
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> PUSHCONT
IFJMP
s4 POP
s1 PUSH
1450460016 PUSHINT
EQUAL
<{
s0 s3 XCHG
9 PUSHPOW2
LDSLICEX
s0 PUSH
32 LDU
16 LDU
32 LDU
256 LDU
ENDS
s0 s3 XCHG
1450459984 PUSHINT
EQUAL
37 THROWIFNOT
s1 PUSH
<{
<{
34 PUSHINT
CONFIGOPTPARAM
s0 PUSH
CTOS
8 LDU
s0 s1 XCHG
18 EQINT
40 THROWIFNOT
96 PUSHINT
SDSKIPFIRST
64 LDU
LDDICT
ENDS
}> CALLREF
s2 POP
ROTREV
16 PUSHINT
DICTUGET
NULLSWAPIFNOT
s0 POP
s0 s1 XCHG
}> CALLREF
s0 POP
8 LDU
32 PUSHINT
NOT
s1 s2 XCHG
AND
83 EQINT
41 THROWIFNOT
32 LDU
s0 s1 XCHG
2390828938 PUSHINT
EQUAL
41 THROWIFNOT
256 LDU
64 LDU
s0 POP
s5 s6 s6 XCHG3
CHKSIGNS
34 THROWIFNOT
1 3 BLKSWAP
<{
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s9 s3 PUSH2
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
11 BLKDROP
-2 PUSHINT
}> PUSHCONT
IFNOTJMP
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s15 s1 s3 XCHG3
s14 s13 XCHG2
<{
s2 s3 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
4 BLKDROP
PUSHNULL
-1 PUSHINT
}> PUSHCONT
IFNOTJMP
<{
34 PUSHINT
CONFIGOPTPARAM
s0 PUSH
CTOS
8 LDU
s0 s1 XCHG
18 EQINT
40 THROWIFNOT
96 PUSHINT
SDSKIPFIRST
64 LDU
LDDICT
ENDS
}> CALLREF
s0 POP
s0 s1 XCHG
HASHCU
s0 s2 XCHG
<{
8 LDU
s0 s1 XCHG
45 EQINT
9 THROWIFNOT
LDREF
LDDICT
256 LDU
64 LDI
ENDS
}> CALLREF
s1 s5 PUSH2
NEQ
s1 PUSH
0 LESSINT
s1 PUSH
AND
<{
10 BLKDROP
PUSHNULL
-3 PUSHINT
}> PUSHCONT
IFJMP
<{
3 BLKDROP
PUSHNULL
s0 s2 XCHG
3 PUSHINT
LSHIFT 1 QOUT
s0 s2 XCHG
}> PUSHCONT
<{
s4 POP
s4 POP
}> PUSHCONT
IFELSE
s5 s0 PUSH2
16 PUSHINT
DICTUGET
NULLSWAPIFNOT
s1 POP
<{
7 BLKDROP
PUSHNULL
0 PUSHINT
}> PUSHCONT
IFJMP
NOW
NEWC
32 STU
s0 s6 s6 XCHG3
16 PUSHINT
DICTUSETB
0 0 3 XCPUXC
SUB
s3 s3 XCPU
XOR
s4 PUSH
s3 s3 XCHG2
s0 s4 XCHG
<{
45 PUSHINT
NEWC
8 STU
s1 s4 XCHG
STREF
s1 s2 XCHG
STDICT
256 STU
64 STI
}> CALLREF
s0 s3 s4 XCHG3
8 PUSHPOW2
DICTUSETB
s0 s1 XCHG
-1 GTINT
<{
s1 POP
PUSHNULL
1 PUSHINT
}> PUSHCONT
IFJMP
s0 s1 XCHG
2 PUSHINT
}> CALLREF
s0 PUSH
1 LESSINT
<{
15 1 BLKDROP2
}> PUSHCONT
IFJMP
s1 PUSH
ISNULL
<{
s1 POP
}> PUSHCONT
<{
s10 s12 s12 XCHG3
<{
CTOS
<{
8 LDI
s0 s1 XCHG
-68 EQINT
9 THROWIFNOT
256 LDU
LDREF
32 LDU
8 LDU
256 LDU
LDGRAMS
LDGRAMS
32 LDU
ENDS
}> CALLREF
s4 POP
s4 POP
s4 POP
s4 s5 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
6 BLKDROP
0 PUSHINT
s0 PUSH
}> PUSHCONT
IFNOTJMP
256 LDU
64 LDU
LDGRAMS
1 LDI
ENDS
s1 s5 PUXC
RSHIFT 32 QOUT
s1 s6 XCHG
ADD
s5 s-1 PUXC
MIN
s5 s5 XCPU
SUB
s0 s2 XCHG
NEWC
256 STU
64 STU
s0 s1 XCHG
STGRAMS
s1 s2 XCHG
1 STI
s0 s4 s5 XCHG3
8 PUSHPOW2
DICTUSETB
s3 PUSH
3 RSHIFT
s0 s2 XCHG
3 LSHIFT
s1 s2 XCHG
MIN
4 2 2 XC2PU
<{
s1 s2 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
ADD
}> PUSHCONT
<{
s0 POP
}> PUSHCONT
IFELSE
NEWC
s0 s1 XCHG
STGRAMS
s0 s2 XCHG
8 PUSHPOW2
DICTUSETB
}> CALLREF
s2 s1 PUXC
SUB
s3 s0 s3 XCHG3
}> CALLREF
s9 s9 XCHG2
ADD
s14 s8 XCHG2
SUB
s0 s13 XCHG
s9 s11 XCHG2
}> PUSHCONT
IFELSE
s4 s6 XCHG
s3 s5 XCHG
s2 s4 XCHG
s3 s11 XCHG
s13 s12 s12 XCHG3
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s1 s3 XCHG
256 STU
STDICT
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
}> CALLREF
s8 s2 XCHG2
32 PUSHINT
DICTUSETB
3 3 BLKSWAP
s6 s6 s0 XCHG3
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
}> CALLREF
3597947456 PUSHINT
ADD
s0 s3 s3 XCHG3
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> IFJMPREF
s3 POP
s0 PUSH
31 PUSHPOW2
AND
<{
32 PUSHPOW2DEC
s0 s3 s3 XCHG3
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
}> PUSHCONT
IFNOTJMP
3 BLKDROP
13:
15 PUSHINT
CONFIGOPTPARAM
CTOS
32 LDI
32 LDI
32 LDI
32 PLDI
31:
s0 s2 XCHG
REWRITESTDADDR
s0 s1 XCHG
INC
<{
3 BLKDROP
-1 PUSHINT
}> PUSHCONT
IFJMP
s1 PUSH
SDEPTH
7 PUSHPOW2
GEQ
<{
3 BLKDROP
-3 PUSHINT
}> PUSHCONT
IFJMP
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 s5 XCHG
5 BLKDROP
s0 s2 XCHG
32 LDU
s1 s3 PUSH2
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
6 BLKDROP
-2 PUSHINT
}> PUSHCONT
IFNOTJMP
s0 PUSH
32 PLDU
NOW
SUB
s0 PUSH
1 LESSINT
<{
7 BLKDROP
-4 PUSHINT
}> PUSHCONT
IFJMP
s2 PUSH
<{
8 LDI
s0 s1 XCHG
-68 EQINT
9 THROWIFNOT
256 LDU
LDREF
32 LDU
8 LDU
256 LDU
LDGRAMS
LDGRAMS
32 LDU
ENDS
}> CALLREF
2 2 BLKDROP2
s3 POP
NOW
<{
13 PUSHINT
CONFIGOPTPARAM
s0 PUSH
ISNULL
<{
s0 POP
36 PUSHPOW2
1 PUSHINT
9 PUSHPOW2
}> PUSHCONT
<{
CTOS
8 LDU
s0 s1 XCHG
26 EQINT
9 THROWIFNOT
LDGRAMS
LDGRAMS
LDGRAMS
ENDS
}> PUSHCONT
IFELSE
}> CALLREF
s0 s11 XCHG
12 PUSHPOW2
SDATASIZE
s2 POP
10 PUSHPOW2
ADD
ROT
MUL
s0 s1 XCHG
2 ADDCONST
s0 s11 XCHG2
MUL
s1 s10 XCHG
ADD
s0 s7 XCHG2
MUL
s0 s8 XCHG2
ADD
s0 PUSH
30 PUSHPOW2
ADD
s1 s12 XCHG
LESS
<{
11 BLKDROP
-5 PUSHINT
}> PUSHCONT
IFJMP
4 0 3 XC2PU
9 11 7 XCPU2
s7 PUSH
<{
-68 PUSHINT
NEWC
8 STI
s1 s8 XCHG
256 STU
s1 s6 XCHG
STREF
s1 s4 XCHG
32 STU
s1 s2 XCHG
8 STU
256 STU
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
32 STU
}> CALLREF
ENDC
s0 s2 XCHG
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s11 s3 XCPU
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
14 BLKDROP
-6 PUSHINT
}> PUSHCONT
IFNOTJMP
320 PUSHINT
SDSKIPFIRST
LDGRAMS
s0 POP
s0 s7 PUXC
RSHIFT 32 QOUT
s1 s9 XCHG
ADD
s0 s6 PUXC
GREATER
<{
12 BLKDROP
-7 PUSHINT
}> PUSHCONT
IFJMP
s5 s11 XCPU
LEQ
<{
11 BLKDROP
-8 PUSHINT
}> PUSHCONT
IFJMP
PUSHNULL
0 PUSHINT
s0 s7 PUSH2
3 1 BLKSWAP
<{
45 PUSHINT
NEWC
8 STU
s1 s4 XCHG
STREF
s1 s2 XCHG
STDICT
256 STU
64 STI
}> CALLREF
s0 s6 XCHG
HASHCU
s6 s0 s9 XCHG3
8 PUSHPOW2
DICTUADDB
<{
10 BLKDROP
-9 PUSHINT
}> PUSHCONT
IFNOTJMP
s6 s5 s0 XCHG3
s3 s7 XCHG
s2 s7 XCHG
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s1 s3 XCHG
256 STU
STDICT
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
}> CALLREF
s0 s2 XCHG
32 PUSHINT
DICTUSETB
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 POP
s4 s5 XCHG
s3 s4 XCHG
ROT
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
35:
0 PUSHINT
37:
16 PUSHINT
CONFIGOPTPARAM
CTOS
16 LDU
16 LDU
s1 POP
16 LDU
ENDS
1 PUSHINT
MAX
0 PUSHINT
PUSHNULL
-1 PUSHINT
<{
s9 PUSH
8 PUSHPOW2
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
LDGRAMS
32 LDU
32 LDU
256 LDU
256 LDU
ENDS
s0 s3 XCHG
NEGATE
s0 s4 XCHG
NEWC
128 STU
s1 s4 XCHG
32 STI
s4 s-1 PUXC
256 STU
ENDC
CTOS
s1 s10 XCPU
MIN
NEWC
32 STU
s1 s3 XCHG
256 STU
256 STU
s0 s1 s4 XCHG3
416 PUSHINT
DICTSETB
s0 s3 XCHG
INC
s3 s1 s3 XCHG3
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s4 POP
ROT
MIN
s0 s1 PUSH2
LESS
<{
7 BLKDROP
PUSHNULL
0 PUSHINT
PUSHNULL
s1 s1 PUSH2
}> PUSHCONT
IFJMP
PUSHNULL
PUSHREFCONT
UNTIL
s3 POP
s4 POP
DEC
2DUP
<{
1 INDEX
}> PUSHCONT
REPEAT
0 PUSHINT
s0 PUSH
PUSHREFCONT
UNTIL
s6 POP
s6 POP
2DROP
s2 PUSH
s0 s3 XCHG
416 PUSHINT
DICTREMMIN
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s1 XCHG
128 LDU
s1 s9 XCPU
MIN
s0 s1 XCHG
32 LDU
s1 POP
256 PLDU
s0 s3 XCHG
32 LDU
256 LDU
s1 POP
256 PLDU
s1 s3 s0 XCHG3
s1 s4 XCHG
4 TUPLE
s0 s5 XCHG2
PAIR
s0 s4 XCHG
}> PUSHCONT
<{
2 1 BLKDROP2
}> PUSHCONT
IFELSE
NOT
s1 s4 XCHG
38:
s0 s1 XCHG
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
s4 POP
NOW
s5 PUSH
LESS
<{
8 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
0 PUSHINT
CONFIGOPTPARAM
ISNULL
<{
8 BLKDROP
35 CALLDICT
}> PUSHCONT
IFJMP
17 PUSHINT
CONFIGOPTPARAM
CTOS
LDGRAMS
LDGRAMS
LDGRAMS
32 LDU
ENDS
s6 s1 PUSH2
LESS
<{
12 BLKDROP
35 CALLDICT
}> PUSHCONT
IFJMP
s0 s4 XCHG
<{
11 BLKDROP
35 CALLDICT
}> PUSHCONT
IFJMP
s0 s6 XCHG
<{
10 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
s3 PUSH
s4 s9 XCHG
s3 s2 XCPU
s7 s7 XCHG2
37 CALLDICT
s0 PUSH
0 EQINT
s0 PUSH
NOT
s11 PUSH
s0 s6 XCHG
s5 s11 XCHG
s4 s10 XCHG
s3 s9 XCHG
s13 s13 s13 XCHG3
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s0 s3 XCHG2
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
1 STI
1 STI
ENDC
}> CALLREF
s3 PUSH
<{
s1 POP
5 2 BLKDROP2
NEWC
STDICT
STDICT
s0 s1 XCHG
STSLICER
ENDC
c4 POP
35 CALLDICT
}> PUSHCONT
IFNOTJMP
13 CALLDICT
s2 POP
NOW
s0 s1 XCHG
ADD
-60 ADDCONST
s9 PUSH
MAX
16 PUSHINT
CONFIGOPTPARAM
CTOS
16 PUSHINT
SDSKIPFIRST
16 PLDU
s7 s-1 PUXC
MIN
s1 s3 PUSH2
ADD
18 PUSHINT
NEWC
8 STU
s3 s-1 PUXC
32 STU
32 STU
s1 s8 XCHG
16 STU
s1 s7 XCHG
16 STU
s1 s10 XCHG
64 STU
s1 s3 XCHG
STDICT
ENDC
0 PUSHINT
CONFIGOPTPARAM
CTOS
256 PLDU
s1 s8 PUSH2
<{
1314280276 PUSHINT
0 PUSHINT
50431 PUSHINT
NEWC
17 STU
s1 s5 XCHG
256 STU
30 PUSHPOW2
STGRAMS
s1 s4 XCHG
107 STU
s1 s3 XCHG
32 STU
s1 s2 XCHG
64 STU
STREF
ENDC
1 PUSHINT
SENDRAWMSG
}> CALLREF
s0 s9 XCHG
LDDICT
s5 s3 XCHG2
ADD
s8 PUSH
ADD
s0 s9 XCHG
HASHCU
s4 s9 XCHG
s3 s8 XCHG
s0 s6 s5 XCHG3
0 PUSHINT
PUSHNULL
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s1 s3 XCHG
256 STU
STDICT
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
}> CALLREF
s0 s3 s5 XCHG3
32 PUSHINT
DICTUSETB
s0 s3 XCHG
NEWC
STDICT
s1 s2 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STSLICER
ENDC
c4 POP
-1 PUSHINT
39:
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
34 PUSHINT
CONFIGOPTPARAM
HASHCU
s0 s1 PUSH2
EQUAL
<{
7 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
s2 PUSH
<{
s2 s4 PUSH2
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
32 LDU
s1 POP
s0 PUSH
32 LDU
256 LDU
s0 POP
s0 s4 XCHG2
EQUAL
57 THROWIFNOT
NOW
s0 s3 XCHG2
ADD
NEWC
32 STU
ROT
STSLICER
s0 s0 s4 XCHG3
32 PUSHINT
DICTUSETB
s0 s2 XCHG
}> PUSHCONT
<{
s1 s3 XCHG
3 BLKDROP
}> PUSHCONT
IFELSE
}> PUSHCONT
<{
2 1 BLKDROP2
}> PUSHCONT
IFELSE
-1 PUSHINT
PUSHREFCONT
UNTIL
s0 PUSH
ISNULL
<{
s0 POP
0 PUSHINT
}> PUSHCONT
IF
s0 s1 XCHG
<{
s3 PUSH
32 PUSHINT
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
64 LDU
256 LDU
s1 s5 PUSH2
EQUAL
<{
s4 POP
s0 s3 XCHG
LDDICT
LDGRAMS
LDGRAMS
s8 PUSH
3 RSHIFT
s9 s9 XCPU
SUB
s2 s9 XCHG2
ADD
s0 s4 XCHG
NEWC
64 STU
s1 s6 XCHG
256 STU
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
s0 s1 XCHG
STGRAMS
ROT
STSLICER
0 0 4 XCPUXC
32 PUSHINT
DICTUSETB
s0 s3 XCHG
0 PUSHINT
s0 s1 XCHG
}> PUSHCONT
<{
3 BLKDROP
}> PUSHCONT
IFELSE
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> CALLREF
-1 PUSHINT
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
41:
s0 s1 XCHG
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
5 1 BLKDROP2
<{
3 BLKDROP
0 PUSHINT
}> PUSHCONT
IFNOTJMP
s0 s2 XCHG
LDDICT
s3 s1 XCPU
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
4 BLKDROP
0 PUSHINT
}> PUSHCONT
IFNOTJMP
64 PUSHINT
SDSKIPFIRST
256 PLDU
34 PUSHINT
CONFIGOPTPARAM
s1 PUSH
<{
s1 PUSH
ISNULL
<{
2DROP
0 PUSHINT
}> PUSHCONT
<{
s0 s1 XCHG
HASHCU
s0 s1 XCHG
EQUAL
}> PUSHCONT
IFELSE
}> CALLREF
36 PUSHINT
CONFIGOPTPARAM
ROT
<{
s1 PUSH
ISNULL
<{
2DROP
0 PUSHINT
}> PUSHCONT
<{
s0 s1 XCHG
HASHCU
s0 s1 XCHG
EQUAL
}> PUSHCONT
IFELSE
}> CALLREF
OR
<{
0 PUSHINT
NEWC
1 STI
s1 s2 XCHG
STDICT
STDICT
s0 s1 XCHG
STSLICER
ENDC
c4 POP
39 CALLDICT
s0 POP
-1 PUSHINT
}> PUSHCONT
IFJMP
3 BLKDROP
0 PUSHINT
42:
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
-1 PUSHINT
<{
s4 PUSH
32 PUSHINT
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
32 LDU
s0 POP
NOW
LEQ
s1 s4 PUSH2
NEQ
AND
<{
s1 POP
5 4 4 XC2PU
<{
s0 s1 XCHG
32 PUSHINT
DICTUDELGET
NULLSWAPIFNOT
<{
s0 POP
0 PUSHINT
}> PUSHCONT
IFNOTJMP
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s0 POP
3 3 BLKDROP2
s0 PUSH
0 GTINT
<{
s3 s4 XCHG
<{
0 PUSHINT
s0 s0 PUSH2
-1 PUSHINT
<{
s6 PUSH
8 PUSHPOW2
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
256 LDU
64 LDU
s1 POP
LDGRAMS
1 LDI
ENDS
<{
s1 POP
s3 s3 XCPU
ADD
}> PUSHCONT
<{
7 0 8 PUSH3
MULDIV QOUT
s6 s6 XCPU
ADD
s1 s6 PUXC
ADD
s11 s11 s0 XCHG3
<{
s1 s2 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
ADD
}> PUSHCONT
<{
s0 POP
}> PUSHCONT
IFELSE
NEWC
s0 s1 XCHG
STGRAMS
s0 s2 XCHG
8 PUSHPOW2
DICTUSETB
}> CALLREF
s0 s9 XCHG
s0 s3 XCHG
}> PUSHCONT
IFELSE
s5 s3 XCHG2
ADD
s0 s4 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s5 POP
s0 s3 XCHG
EQUAL
s2 s1 PUSH2
LEQ
AND
59 THROWIFNOT
s1 s2 XCHG
ADD
s0 s1 XCHG
SUB
}> CALLREF
}> PUSHCONT
<{
s0 POP
s2 s3 XCHG
<{
0 PUSHINT
s0 PUSH
-1 PUSHINT
<{
s4 PUSH
8 PUSHPOW2
DICTUGETNEXT
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
256 LDU
64 LDU
s1 POP
LDGRAMS
1 LDI
ENDS
<{
s1 POP
s3 s3 XCPU
ADD
}> PUSHCONT
<{
8 8 8 XC2PU
<{
s1 s2 PUSH2
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
ADD
}> PUSHCONT
<{
s0 POP
}> PUSHCONT
IFELSE
NEWC
s0 s1 XCHG
STGRAMS
s0 s2 XCHG
8 PUSHPOW2
DICTUSETB
}> CALLREF
s0 s7 XCHG
s0 s3 XCHG
}> PUSHCONT
IFELSE
s4 s3 XCHG2
ADD
s0 s3 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s3 POP
s0 s1 XCHG
EQUAL
59 THROWIFNOT
}> CALLREF
}> PUSHCONT
IFELSE
s1 s2 XCHG
}> CALLREF
s1 s4 XCHG
ADD
6 1 3 PUSH3
3 5 8 PUSH3
<{
s0 s5 XCHG
NEWC
STDICT
s1 s4 XCHG
STDICT
s1 s2 XCHG
STDICT
s0 s1 XCHG
STGRAMS
32 STU
256 STU
ENDC
c4 POP
}> CALLREF
s0 s3 XCHG
s5 s4 XCHG2
0 PUSHINT
s0 s1 XCHG
}> PUSHCONT
IF
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
6 1 BLKDROP2
ISNULL
NOT
43:
s1 POP
36 PUSHINT
CONFIGOPTPARAM
ISNULL
<{
2DROP
0 PUSHINT
}> PUSHCONT
IFNOTJMP
1 PUSHINT
CONFIGOPTPARAM
CTOS
256 PLDU
MYADDR
REWRITESTDADDR
s0 s1 XCHG
INC
s0 s2 XCHG
NEQ
OR
<{
2DROP
0 PUSHINT
}> PUSHCONT
IFJMP
34 PUSHINT
CONFIGOPTPARAM
s0 PUSH
ISNULL
<{
3 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
13 CALLDICT
s0 POP
s2 POP
s0 s2 XCHG
CTOS
40 PUSHINT
SDSKIPFIRST
32 PLDU
NOW
s1 s3 XCPU
SUB
2DUP
LESS
<{
6 BLKDROP
0 PUSHINT
}> PUSHCONT
IFJMP
2DUP
SUB
60 LESSINT
<{
s1 POP
}> PUSHCONT
<{
s0 POP
}> PUSHCONT
IFELSE
17 PUSHINT
CONFIGOPTPARAM
CTOS
LDGRAMS
s0 POP
s0 s3 XCHG
ADD
s0 s1 PUXC
SUB
0 PUSHINT
PUSHNULL
s3 s4 XCHG
s2 s3 XCHG
0 PUSHINT
0 PUSHINT
<{
s0 s6 XCHG
NEWC
32 STU
s1 s5 XCHG
32 STU
s0 s3 XCHG2
STGRAMS
s0 s1 XCHG
STGRAMS
STDICT
1 STI
1 STI
ENDC
}> CALLREF
NEWC
STDICT
STDICT
s0 s1 XCHG
STSLICER
ENDC
c4 POP
-1 PUSHINT
1666:
s1 POP
1313042276 PUSHINT
3460525924 PUSHINT
ROTREV
0 PUSHINT
64 PUSHINT
<{
0 PUSHINT
24 PUSHINT
NEWC
6 STU
s0 s7 XCHG2
STSLICER
ROT
STGRAMS
s1 s5 XCHG
107 STU
s1 s3 XCHG
32 STU
64 STU
s1 PUSH
-1 GTINT
<{
32 STU
}> PUSHCONT
<{
s1 POP
}> PUSHCONT
IFELSE
ENDC
s0 s1 XCHG
SENDRAWMSG
}> CALLREF
70210:
<{
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 s5 XCHG
5 BLKDROP
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
s0 POP
PUSHNULL
}> PUSHCONT
IFNOTJMP
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
6 1 BLKDROP2
}> CALLREF
256 PUSHPOW2DEC
PUSHNULL
<{
s1 s2 XCPU
8 PUSHPOW2
DICTUGETPREV
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
<{
<{
8 LDU
s0 s1 XCHG
45 EQINT
9 THROWIFNOT
LDREF
LDDICT
256 LDU
64 LDI
ENDS
}> CALLREF
PUSHNULL
32 PUSHPOW2
<{
s4 PUSH
16 PUSHINT
DICTUGETPREV
NULLSWAPIFNOT2
s2 POP
s1 PUSH
<{
s0 s2 PUXC
PAIR
s0 s2 XCHG
}> PUSHCONT
IF
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s3 POP
s0 s3 XCHG
CTOS
<{
8 LDI
s0 s1 XCHG
-68 EQINT
9 THROWIFNOT
256 LDU
LDREF
32 LDU
8 LDU
256 LDU
LDGRAMS
LDGRAMS
32 LDU
ENDS
}> CALLREF
8 TUPLE
s0 s3 XCHG
4 TUPLE
}> CALLREF
s1 s-1 PUXC
PAIR
s0 s3 XCHG2
PAIR
s0 s2 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
s1 s2 XCHG
}> PUSHCONT
UNTIL
2 1 BLKDROP2
74376:
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 s5 XCHG
5 BLKDROP
32 PUSHPOW2
PUSHNULL
<{
s1 s2 XCPU
32 PUSHINT
DICTUGETPREV
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
4 BLKDROP
s3 PUSH
s3 s1 s3 XCHG3
4 TUPLE
s0 s3 XCHG2
PAIR
s0 s2 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
s1 s2 XCHG
}> PUSHCONT
UNTIL
2 1 BLKDROP2
77853:
s0 s1 XCHG
<{
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 s5 XCHG
5 BLKDROP
32 PUSHINT
DICTUGET
NULLSWAPIFNOT
<{
s0 POP
PUSHNULL
}> PUSHCONT
IFNOTJMP
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
6 1 BLKDROP2
}> CALLREF
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
<{
<{
8 LDU
s0 s1 XCHG
45 EQINT
9 THROWIFNOT
LDREF
LDDICT
256 LDU
64 LDI
ENDS
}> CALLREF
PUSHNULL
32 PUSHPOW2
<{
s4 PUSH
16 PUSHINT
DICTUGETPREV
NULLSWAPIFNOT2
s2 POP
s1 PUSH
<{
s0 s2 PUXC
PAIR
s0 s2 XCHG
}> PUSHCONT
IF
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s3 POP
s0 s3 XCHG
CTOS
<{
8 LDI
s0 s1 XCHG
-68 EQINT
9 THROWIFNOT
256 LDU
LDREF
32 LDU
8 LDU
256 LDU
LDGRAMS
LDGRAMS
32 LDU
ENDS
}> CALLREF
8 TUPLE
s0 s3 XCHG
4 TUPLE
}> CALLREF
}> PUSHCONT
<{
s0 POP
PUSHNULL
}> PUSHCONT
IFELSE
81558:
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 s5 XCHG
5 BLKDROP
32 PUSHPOW2
PUSHNULL
<{
s1 s2 XCPU
32 PUSHINT
DICTUGETPREV
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
<{
32 LDU
32 LDU
256 LDU
LDDICT
LDGRAMS
LDGRAMS
LDDICT
ENDS
}> CALLREF
s7 PUSH
7 1 BLKSWAP
8 TUPLE
s0 s3 XCHG2
PAIR
s0 s2 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
s1 s2 XCHG
}> PUSHCONT
UNTIL
2 1 BLKDROP2
86500:
86535:
c4 PUSH
CTOS
PLDDICT
s0 PUSH
ISNULL
<{
s0 POP
0 PUSHINT
}> PUSHCONT
<{
CTOS
32 PLDU
}> PUSHCONT
IFELSE
86698:
c4 PUSH
CTOS
PLDDICT
s0 PUSH
ISNULL
<{
s0 POP
0 PUSHINT
0 0 0 PUSH3
PUSHNULL
s1 s1 PUSH2
}> PUSHCONT
IFJMP
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
PUSHNULL
256 PUSHPOW2DEC
<{
s4 PUSH
8 PUSHPOW2
DICTUGETPREV
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
LDGRAMS
32 LDU
s1 POP
32 LDU
256 LDU
256 LDU
ENDS
4 TUPLE
s1 s-1 PUXC
PAIR
s0 s3 XCHG2
PAIR
s0 s2 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s3 POP
87852:
c4 PUSH
CTOS
PLDDICT
s0 PUSH
ISNULL
<{
2DROP
0 PUSHINT
}> PUSHCONT
IFJMP
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
s2 s6 XCHG
6 BLKDROP
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
}> PUSHCONT
<{
s0 POP
0 PUSHINT
}> PUSHCONT
IFELSE
97951:
<{
13 PUSHINT
CONFIGOPTPARAM
s0 PUSH
ISNULL
<{
s0 POP
36 PUSHPOW2
1 PUSHINT
9 PUSHPOW2
}> PUSHCONT
<{
CTOS
8 LDU
s0 s1 XCHG
26 EQINT
9 THROWIFNOT
LDGRAMS
LDGRAMS
LDGRAMS
ENDS
}> PUSHCONT
IFELSE
}> CALLREF
s0 s5 XCHG
10 PUSHPOW2
ADD
s0 s1 XCHG
MUL
s0 s3 XCHG
2 ADDCONST
s0 s4 XCHG2
MUL
s1 s2 XCHG
ADD
s0 s1 XCHG
MUL
s0 s1 XCHG
ADD
30 PUSHPOW2
ADD
104565:
<{
c4 PUSH
CTOS
LDDICT
LDDICT
LDDICT
LDGRAMS
32 LDU
256 LDU
ENDS
}> CALLREF
s3 s5 XCHG
5 BLKDROP
32 PUSHPOW2
PUSHNULL
<{
s1 s2 XCPU
32 PUSHINT
DICTUGETPREV
NULLSWAPIFNOT2
s2 POP
s1 PUSH
<{
s0 s2 PUXC
PAIR
s0 s2 XCHG
}> PUSHCONT
IF
s0 s1 XCHG
NOT
s1 s2 XCHG
}> PUSHCONT
UNTIL
2 1 BLKDROP2
123541:
c4 PUSH
CTOS
PLDDICT
s0 PUSH
ISNULL
<{
s0 POP
PUSHNULL
}> PUSHCONT
IFJMP
<{
CTOS
32 LDU
32 LDU
LDGRAMS
LDGRAMS
LDDICT
1 LDI
1 LDI
ENDS
}> CALLREF
s2 s6 XCHG
6 BLKDROP
PUSHNULL
256 PUSHPOW2DEC
<{
s2 PUSH
8 PUSHPOW2
DICTUGETPREV
NULLSWAPIFNOT2
s0 PUSH
<{
s0 s2 XCHG
LDGRAMS
s0 POP
s1 s-1 PUXC
PAIR
s0 s3 XCHG2
PAIR
s0 s2 XCHG
}> PUSHCONT
<{
s2 POP
}> PUSHCONT
IFELSE
s0 s1 XCHG
NOT
}> PUSHCONT
UNTIL
s0 POP
s1 POP
130944:
c4 PUSH
CTOS
LDDICT
s1 POP
LDDICT
s0 POP
8 PUSHPOW2
DICTUGET
NULLSWAPIFNOT
<{
LDGRAMS
s0 POP
}> PUSHCONT
<{
s0 POP
0 PUSHINT
}> PUSHCONT
IFELSE
run_ticktock:
s0 POP
c4 PUSH
CTOS
LDDICT
LDDICT
s2 PUSH
ISNULL
<{
ROTREV
43 CALLDICT
0 THROWIF
}> PUSHCONT
<{
0 2 1 PUSH3
38 CALLDICT
0 THROWIF
ROTREV
41 CALLDICT
0 THROWIF
}> PUSHCONT
IFELSE
39 CALLDICT
0 THROWIF
42 CALLDICT
s0 POP
) 19 DICTPUSHCONST
DICTIGETJMPZ
11 THROWARG
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
x{FF00F4A413F4BCF2C80B}
x{2_}
x{4}
x{C5}
x{C9_}
x{2_}
x{2_}
x{D80E8698180B8D8492F81F07D201810E38047421880ED9E7000E98F90E00047422D80ED9E70699F9141082739BA25DD4742990811ED9E7011410823B2BA125D4_}
x{DB3C07FA4401A4B121C000B18E8805A010355512DB3CE053028020F40E6FA1943005A001E30D10354143}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{DB3C0CA055050BDB3C5420538020F443}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{06C8CB1F15CB1F13CBFFF40001FA0201FA02F400}
x{DB3C}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{DB3C07FA4401A4B121C000B18E8805A010355512DB3CE053028020F40E6FA1943005A001E30D10354143}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{DB3C0CA055050BDB3C5420538020F443}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{06C8CB1F15CB1F13CBFFF40001FA0201FA02F400}
x{DB3C}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{23FA44ED44D0F404216E04A414B18E8710355F0570DB3CE004D3FFD31FD31FD3FFD401D08308D71901D18210654C5074C8CB1F5240CB1F5230CB1F5260CBFF5220CBFFC9D05115F9118E8710685F0871DB3CE121830FB98E8710685F0876DB3CE007}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{DB3C310D82103B9ACA00A120AA0B23B98E8710BD5F0D72DB3CE05122A05175BD8E8710AC5F0C73DB3CE00C}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8E87109B5F0B70DB3CE0536B8307F40E6FA1209F30FA0059A001D33F31D3FF305280BD9131E28E87109B5F0B74DB3CE05301B98E87109B5F0B75DB3CE020F2ACF800F823C858FA02CB1F14CB1F16CBFF18CBFF40388307F44310454130167070}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8210EE6F454C59708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{DB3CC8F40058CF16C9ED54208E8370DB3CE05B}
x{06C8CB1F15CB1F5003FA0201FA02F400CA00CA00C9}
x{8210F374484C5982103B9ACA0072DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8E843413DB3CE02282104E436F64BA8F1834545244DB3C968210CE436F6492841FE24033708040DB3CE0228210EE764F4BBA238210EE764F6FBA5210B1}
x{3121FA4401A48E8E308210FFFFFFFE4013708040DB3CE0ED44D0F404F40450338307F4666FA18E8F5F048210FFFFFFFE4013708040DB3CE13605FA00D101C8F40015F40001CF16C9ED548210F96F7324708018C8CB055004CF165004FA0212CB6A12CB1FCB3FC98040FB00}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{70F833206E935F0470E0D0D70BFF23FA4401A402BDB1935F0370E0F80001D421FB0420C700925F049C01D0ED1EED5301F10682F200E27F}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8E8633344300DB3CE03022821052674370BA8EA6544315F01F804021A322C2FF975B74FB027083069132E2018210F2676350A00344447001DB3CE03421821056744370BAE3023320831EB0}
x{3202FA4470F833D0D70BFFED44D0F40404A45ABDB1216EB1925F04E0DB3C6C515215BD04B314B1925F03E0F80001915B8E9DF404F404FA004334DB3C70C8CA0013F400F40059A0FA0201CF16C9ED54E2}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{018020F4666FA1923070E1DB3C306C3320C2008E841034DB3C8E85301023DB3CE212}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{7053007F8EB7268307F47C6FA5208EA802D3FFD33F31FA00D200D194315133A08E91547708A9845166A05217A04BB0DB3C0903E25053A0049132E201B3E6303503BA5321BBB0F2BB12A001A1}
x{53128307F40E6FA194FA0030A09130E2C801FA02028307F443}
x{70207F8EAD248307F47C6FA5208E9E02D3FFD33F31FA00D200D194315133A08E87541888DB3C0703E25043A0039132E201B3E6303301BAF2BB}
x{53128307F40E6FA194FA0030A09130E2C801FA02028307F443}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{038308D71820D31FD30FD31FD3FFD103821056744350BAF2A521DB3C30D3078020B312B0C053F2A9D31F0182108E81278ABAF2A9D3FFD33F304566F911F2A25502DB3C8210D6745240A04033708040DB3C}
x{DB3C32598010F40E6FA13001}
x{8022F83320D0D30701C012F2A88060D721D33FF404D1}
x{DB3C53938020F40E6FA1935F0B7EE1DB3C4F1350EDDB3C20C101926CF1E0216E}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{53238307F40E6FA1945F046D7FE1DB3C3001F90002DB3C5315BD21C10021B0945F0A6D7DE0995F036D0273A9D40002923434E253508010F40E6FA131945F076D70E0F823C8CB1F40668010F443542004A15133B224503304DB3C40348307F44301C2FF93316D71E00172}
x{8022F83320D0D30701C012F2A88060D721D33FF404D1}
x{D30701C02DF289D4F404D3FFD23FD1}
x{802DC8CB0714CC12F400CBFFCA3F}
x{91318E8D4ACCDB3C5099A050E8A10D509BE2104610351024103B4DCCDB3C50828020F44355224660DB3C}
x{D0DB3C34343453458307F40E6FA1945F067020E1D3FFD33FFA00D200D15216A9B41F16A05250B6085155A102C8CBFFCB3F01FA0212CA0040458307F44323AB0202AA0212B608541422DB3C5222A14303}
x{D20701C0BCF289D3FFD4D31FD307D3FFFA00FA00D31FD1}
x{53128307F40E6FA194FA0030A09130E2C801FA02028307F443}
x{06C8CB1F15CB1F13CBFFF40001FA0201FA02F400}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{8E89841F4033708040DB3CE15F03}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{BB001FF067A1A43FA43FA43FAE143F_}
x{F00BE91006924D7C0DFF80875D920C1AFA4D7C0DF7836CF040D57C140B4C7D4C4E0083D039BE864D7C19FB84835C2C7FE08E848304064D7C1DF3808B6CF1B088CFE08F6CF02E0C2FE50CCA0C268162A0069809402EA06A81401EA1402280820C768072E64D7C2DEF8150500D50E6DC9E_}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D20701C0BCF289D3FFD4D31FD307D3FFFA00FA00D31FD1}
x{800DF833206E963083237183089FD0D30701C01AF289FA00FA00FA00D1E2}
x{DB3CC902DB3C51B38307F40E6FA1945F0E80FAE1810140D721FA00305208A9B41F19A05207BC945F0C80F9E0515BBB945F0B80F8E06D7053075520DB3C06F90046098307F453945F0A80F7E1465010371027}
x{80BCC8CA0718CBFF16CC14CB1F12CB07CBFF01FA0201FA02CB1F}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{802DC8CB0714CC12F400CBFFCA3F}
x{DB3C028020F443DB3C331045103458DB3C}
x{06C8CB1F15CB1F13CBFFF40001FA0201FA02F400}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{4}
x{2_}
x{F384_}
x{2_}
x{58010F833D0D30FD30F31D30FD171B609706D7F8E41298307F47C6FA5208E3202FA00D31FD31FD3FFD3FFD103A304C8CB7F14CA1F5240CBFFC9D0511AB608C8CB1F13CBFFCBFF40148101A0F44103A443139132E201B3E6303458B6085301B9975F076D706D5311E06D8AE63334A55C926F11E470208AE636365B22}
x{038101A0F4926FA5208E2101D37F5119B60801D31F31D70BFF03D31FD3FF31D70BFF4130146F0450056F0204926C21E2B314}
x{026F22016F1004A45348BE8E90546506DB3C5302BC946C2222029130E29134E25336BE13}
x{70028E13026F22216F10026F1124A8AB0F12B60812A058E43031}
x{C0005243B912B1975F046D706D5311E05301A5926F11E46F106F107053006D6D8AE6343434365255BAF2B150444313}
x{066F22016F24531D8307F40E6FA1F2BDFA0031D33F31D70BFF539CB98E5D513AA8AB0F5240B6085144A124AA3B2EA9045195A05189A082108E81278A23928073928053E2C8CB07CB1F5240CBFF52A0CB3F239413CBFF029133E25422A88010F4437024C8CBFF1ACB3F5005FA0218CA00401A8307F4430810451314926C31E2}
x{218E854C00DB3C0A915BE204A4246E1517}
x{53128307F40E6FA194FA0030A09130E2C801FA02028307F443}
x{2_}
x{0076CF0D3E08C96E64D7C21C381C3E0CDBA517C23C08F820047E0CF43E803E803E8034C7F454D86E6517C33C08F8012517C2FC08F801A4D7C29C3808C412544C941DFC09483000082CCAC18416C412840E537776CF08E3840C5B14B23D003D000073C5B27B553C08F87C034CBE08C06829B10A6D8260043E0CF42_}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{06C8CB1F15CB1F5003FA0201FA02F400CA00CA00C9}
x{8010D721D70B0F5270B6085313A08012C8CB075230CB1FCB1F18CB0F17CB0F1ACB3F13F400C970F833D0D70BFF5318DB3C09F4045053A028A009F900104910384065706DDB3C40358020F44303C8F40012F40012F40001CF16C9ED547F}
x{82104E565354708200C4FFC8CB1015CBFF831DFA0214CB6A13CB1F12CB3FCCC971FB00}
x{06C8CB1F15CB1F13CBFFF40001FA0201FA02F400}
x{36CF2008BE0CFE4014C06EA4D7C1DC3808A38BD4C920083D039BE8638834C7CC4834C7F4FFCC14012EBCAE7E08D400E83232C7D633C5900120083D10C0A4C4D7C0F8A49B08789FE2B9881BA48C1C378076CF1FE_}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{238020F47C6FA5208E3C02D33FD3FF5315BA8E2E3403F404FA00FA0028AB025199A15029A004C8CB3F16CBFF12F40001FA0201FA0258CF165420058020F443037001925F03E29132E201B3}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{4}
x{501DB3C6C51935F0370E102F40451318020F40E6FA1935F0470E18040D721D70BFF8022F83321DB3C8024F83358DB3CB18E1370C8CA0012F400F40001CF16C9ED54F027307FE05F0370}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{216E925B709501F90001BAE2}
x{216E925B709501F90001BAE2}
x{2_}
x{36CF1FE3CC8920083D1F1BE94823C8C0B4C7CC3E08EED4C52F6C23C54C55055136CF0528151D84D51CD636CF00D4151C0077A44CB8806CF99B185BACE_}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{018020F4666FA1923070E1DB3C306C3320C2008E841034DB3C8E85301023DB3CE212}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{7053007F8EB7268307F47C6FA5208EA802D3FFD33F31FA00D200D194315133A08E91547708A9845166A05217A04BB0DB3C0903E25053A0049132E201B3E6303503BA5321BBB0F2BB12A001A1}
x{53128307F40E6FA194FA0030A09130E2C801FA02028307F443}
x{70207F8EAD248307F47C6FA5208E9E02D3FFD33F31FA00D200D194315133A08E87541888DB3C0703E25043A0039132E201B3E6303301BAF2BB}
x{53128307F40E6FA194FA0030A09130E2C801FA02028307F443}
x{05C8F40014F40012F40001FA02CB1FCBFFC9ED54}
x{0C60093E0CDBA496DC385C7E0CF435C2FFFE0A3E91006900AF6C6496DC382008BE0CC81BA4D7C0DC383C034C0C80B4200A35C875C2C7FE08D444E8572E64D7C19C381728704F244C644C38A0047E0CF43E800C00E81480A85C1B440D0408DC1C36CF323D003D000073C5B27B551FE_}
x{06C8CB1F15CB1F5003FA0201FA02F400CA00CA00C9}
x{AA823182104E436F648210CE436F6459708040DB3C}
x{708018C8CB055007CF1658FA0215CB6A13CB1FCB3F21C2FF92CB1F9131E2C901FB00}
x{2_}
x{2_}
x{2_}
x{B6485B67909FEDB1D3AA225060FE8FCDF4A411D1805B678A420DE04A006DE04052265C4036625CCD843_}
x{DB3C10355F058020F40E6FA192306DE1DB3C6C61}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{DB3C6D831F8E12248010F47E6FA532219552036F0202DE01B3E6303303D0DB3C6F08036F04}
x{D30701C02DF289D4F404D3FFD23FD1}
x{D20701C0BCF289D3FFD4D31FD307D3FFFA00FA00D31FD1}
x{2_}
x{B0A236CF040D57C160C7DB63A81444A0083D1F9BE94823A3C0B6CF17C108D0C4DBC11400DBC080A44CB8806CC4B99B086_}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{2_}
x{AC0E80ED9E4183FA0737D0C7416D9E491836F14_}
x{DB3C10355F058020F40E6FA192306DE1DB3C6C61}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{DB3C6D831F8E12248010F47E6FA532219552036F0202DE01B3E6303303D0DB3C6F08036F04}
x{D30701C02DF289D4F404D3FFD23FD1}
x{D20701C0BCF289D3FFD4D31FD307D3FFFA00FA00D31FD1}
x{AF4B6D9E081AAF82C18FB6C74F288940107A3F37D2904746816D9E13AAB037842801B7810148997100D989733610C_}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{2_}
x{6A_}
x{2_}
x{A7C9_}
x{DB3C10355F058020F40E6FA192306DE1DB3C6C61}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{D31FD31FD3FFF404FA00FA00F404D1}
x{4}
x{B87ED44D0F405206E92307094D0D70B1FE2}
x{BAAED44D0F405206E9830705470006D5311E0DB3C6D84FF8E27248307F47E6FA5208E1802FA00D31F31D31FD3FFD3FFD16F0452106F0250036F02029132E201B3E63033}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{AB2CED44D0F405206E925B70E0DB3C10265F068307F40E6FA193FA0030923070E2}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{B7D3FB6780B0613400350074C04A00950254003500341063B41_}
x{800DF833206E963083237183089FD0D30701C01AF289FA00FA00FA00D1E2}
x{2_}
x{B9875DB3C10355F05831F6D8E1451128020F47E6FA532219552036F0202DE01B312E66C21}
x{ED44D0F404F404F404FA00D31FD3FFD1}
x{5}
x{B0A57B51343D01481BA48C1B7836CF040997C19B613FE386C8A0C1FD1F9BE9482740BE800C14841BC09400DBC080A44CB8806CF98C0C6_}
x{D0D31FD31FFA00FA00F404D200D200D1}
x{B3E03B51343D010C7D010C20C1FD039BE864FE800C248C1C38A_}
x{A5FFFF1876A2687A027A0211374AACF815F9204E2A3810F81379202CF814F920717813F9207815184_}