ETH Price: $3,393.09 (-1.26%)
Gas: 2 Gwei

Contract

0x5ef30b9986345249bc32d8928B7ee64DE9435E39
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Give201495702024-06-22 20:16:596 days ago1719087419IN
Maker: CDP Manager
0 ETH0.000254872.69307194
Give201495272024-06-22 20:08:236 days ago1719086903IN
Maker: CDP Manager
0 ETH0.000263372.46938504
Give199182532024-05-21 12:22:3539 days ago1716294155IN
Maker: CDP Manager
0 ETH0.0023039721.60148692
Give195560922024-03-31 19:58:4789 days ago1711915127IN
Maker: CDP Manager
0 ETH0.0023577622.10585059
Move184733672023-10-31 23:24:47241 days ago1698794687IN
Maker: CDP Manager
0 ETH0.0005051618.27052727
Open184730012023-10-31 22:11:11241 days ago1698790271IN
Maker: CDP Manager
0 ETH0.0050431920.61780378
Give168920862023-03-23 18:42:23463 days ago1679596943IN
Maker: CDP Manager
0 ETH0.0044848942.0492733
Open155817732022-09-21 12:32:59646 days ago1663763579IN
Maker: CDP Manager
0 ETH0.001160934.93715847
Open155817032022-09-21 12:18:59647 days ago1663762739IN
Maker: CDP Manager
0 ETH0.001647986.73830449
Cdp Allow154873622022-09-07 1:03:46661 days ago1662512626IN
Maker: CDP Manager
0 ETH0.0006891313.92198469
Give154364112022-08-29 21:18:38669 days ago1661807918IN
Maker: CDP Manager
0 ETH0.002104719.73318391
Cdp Allow153938842022-08-23 2:07:52676 days ago1661220472IN
Maker: CDP Manager
0 ETH0.0005949612.01954951
Cdp Allow153696702022-08-19 5:59:27680 days ago1660888767IN
Maker: CDP Manager
0 ETH0.000258915.23062922
Cdp Allow153309642022-08-13 3:17:00686 days ago1660360620IN
Maker: CDP Manager
0 ETH0.000420758.50006524
Give150068492022-06-22 8:52:59738 days ago1655887979IN
Maker: CDP Manager
0 ETH0.0024747723.20551158
Urn Allow149167562022-06-06 19:50:42753 days ago1654545042IN
Maker: CDP Manager
0 ETH0.0020786647.05834107
Frob146821812022-04-29 23:38:22791 days ago1651275502IN
Maker: CDP Manager
0 ETH0.0031890149.48351692
Open146814662022-04-29 20:51:07791 days ago1651265467IN
Maker: CDP Manager
0 ETH0.0140656557.51177608
Open144298772022-03-21 13:05:50830 days ago1647867950IN
Maker: CDP Manager
0 ETH0.0055008122.49069141
Urn Allow136294202021-11-16 23:11:48955 days ago1637104308IN
Maker: CDP Manager
0 ETH0.0056121127.08577928
Give132898132021-09-24 17:29:331008 days ago1632504573IN
Maker: CDP Manager
0 ETH0.0074357469.72366106
Open132002722021-09-10 20:52:591022 days ago1631307179IN
Maker: CDP Manager
0 ETH0.0225785696.021
Open132002682021-09-10 20:52:501022 days ago1631307170IN
Maker: CDP Manager
0 ETH0.0234838596.021
Urns124805722021-05-21 23:11:211134 days ago1621638681IN
Maker: CDP Manager
0 ETH0.0023828100
Give124733552021-05-20 20:10:451135 days ago1621541445IN
Maker: CDP Manager
0 ETH0.0066931188.0001
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
201864132024-06-27 23:49:5936 hrs ago1719532199
Maker: CDP Manager
 Contract Creation0 ETH
201807202024-06-27 4:45:232 days ago1719463523
Maker: CDP Manager
 Contract Creation0 ETH
201791142024-06-26 23:22:472 days ago1719444167
Maker: CDP Manager
 Contract Creation0 ETH
201773282024-06-26 17:23:112 days ago1719422591
Maker: CDP Manager
 Contract Creation0 ETH
201675092024-06-25 8:29:474 days ago1719304187
Maker: CDP Manager
 Contract Creation0 ETH
201646472024-06-24 22:53:234 days ago1719269603
Maker: CDP Manager
 Contract Creation0 ETH
201617662024-06-24 13:13:474 days ago1719234827
Maker: CDP Manager
 Contract Creation0 ETH
201610792024-06-24 10:54:595 days ago1719226499
Maker: CDP Manager
 Contract Creation0 ETH
201532522024-06-23 8:38:476 days ago1719131927
Maker: CDP Manager
 Contract Creation0 ETH
201337772024-06-20 15:16:478 days ago1718896607
Maker: CDP Manager
 Contract Creation0 ETH
201328692024-06-20 12:14:239 days ago1718885663
Maker: CDP Manager
 Contract Creation0 ETH
201281082024-06-19 20:15:359 days ago1718828135
Maker: CDP Manager
 Contract Creation0 ETH
201158452024-06-18 3:02:2311 days ago1718679743
Maker: CDP Manager
 Contract Creation0 ETH
201115992024-06-17 12:47:1111 days ago1718628431
Maker: CDP Manager
 Contract Creation0 ETH
200979082024-06-15 14:52:2313 days ago1718463143
Maker: CDP Manager
 Contract Creation0 ETH
200915922024-06-14 17:38:4714 days ago1718386727
Maker: CDP Manager
 Contract Creation0 ETH
200906972024-06-14 14:39:1114 days ago1718375951
Maker: CDP Manager
 Contract Creation0 ETH
200710932024-06-11 20:52:3517 days ago1718139155
Maker: CDP Manager
 Contract Creation0 ETH
200535902024-06-09 10:11:5920 days ago1717927919
Maker: CDP Manager
 Contract Creation0 ETH
200374222024-06-07 4:00:2322 days ago1717732823
Maker: CDP Manager
 Contract Creation0 ETH
200341702024-06-06 17:07:1122 days ago1717693631
Maker: CDP Manager
 Contract Creation0 ETH
200318892024-06-06 9:27:4723 days ago1717666067
Maker: CDP Manager
 Contract Creation0 ETH
200282732024-06-05 21:19:5923 days ago1717622399
Maker: CDP Manager
 Contract Creation0 ETH
200271012024-06-05 17:24:2323 days ago1717608263
Maker: CDP Manager
 Contract Creation0 ETH
200261932024-06-05 14:21:4723 days ago1717597307
Maker: CDP Manager
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DssCdpManager

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2019-11-14
*/

// hevm: flattened sources of /nix/store/jyvwn5yyqxwkfxc45k04h2dk209dn6sh-dss-cdp-manager-8976239/src/DssCdpManager.sol
pragma solidity =0.5.12;

////// /nix/store/4vip6nyqfd0yhs15md21rzxsk5jgx6sv-dss/dapp/dss/src/lib.sol
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* pragma solidity 0.5.12; */

contract LibNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  usr,
        bytes32  indexed  arg1,
        bytes32  indexed  arg2,
        bytes             data
    ) anonymous;

    modifier note {
        _;
        assembly {
            // log an 'anonymous' event with a constant 6 words of calldata
            // and four indexed topics: selector, caller, arg1 and arg2
            let mark := msize                         // end of memory ensures zero
            mstore(0x40, add(mark, 288))              // update free memory pointer
            mstore(mark, 0x20)                        // bytes type data offset
            mstore(add(mark, 0x20), 224)              // bytes size (padded)
            calldatacopy(add(mark, 0x40), 0, 224)     // bytes payload
            log4(mark, 288,                           // calldata
                 shl(224, shr(224, calldataload(0))), // msg.sig
                 caller,                              // msg.sender
                 calldataload(4),                     // arg1
                 calldataload(36)                     // arg2
                )
        }
    }
}

////// /nix/store/jyvwn5yyqxwkfxc45k04h2dk209dn6sh-dss-cdp-manager-8976239/src/DssCdpManager.sol
/* pragma solidity 0.5.12; */

/* import { LibNote } from "dss/lib.sol"; */

contract VatLike {
    function urns(bytes32, address) public view returns (uint, uint);
    function hope(address) public;
    function flux(bytes32, address, address, uint) public;
    function move(address, address, uint) public;
    function frob(bytes32, address, address, address, int, int) public;
    function fork(bytes32, address, address, int, int) public;
}

contract UrnHandler {
    constructor(address vat) public {
        VatLike(vat).hope(msg.sender);
    }
}

contract DssCdpManager is LibNote {
    address                   public vat;
    uint                      public cdpi;      // Auto incremental
    mapping (uint => address) public urns;      // CDPId => UrnHandler
    mapping (uint => List)    public list;      // CDPId => Prev & Next CDPIds (double linked list)
    mapping (uint => address) public owns;      // CDPId => Owner
    mapping (uint => bytes32) public ilks;      // CDPId => Ilk

    mapping (address => uint) public first;     // Owner => First CDPId
    mapping (address => uint) public last;      // Owner => Last CDPId
    mapping (address => uint) public count;     // Owner => Amount of CDPs

    mapping (
        address => mapping (
            uint => mapping (
                address => uint
            )
        )
    ) public cdpCan;                            // Owner => CDPId => Allowed Addr => True/False

    mapping (
        address => mapping (
            address => uint
        )
    ) public urnCan;                            // Urn => Allowed Addr => True/False

    struct List {
        uint prev;
        uint next;
    }

    event NewCdp(address indexed usr, address indexed own, uint indexed cdp);

    modifier cdpAllowed(
        uint cdp
    ) {
        require(msg.sender == owns[cdp] || cdpCan[owns[cdp]][cdp][msg.sender] == 1, "cdp-not-allowed");
        _;
    }

    modifier urnAllowed(
        address urn
    ) {
        require(msg.sender == urn || urnCan[urn][msg.sender] == 1, "urn-not-allowed");
        _;
    }

    constructor(address vat_) public {
        vat = vat_;
    }

    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }

    function toInt(uint x) internal pure returns (int y) {
        y = int(x);
        require(y >= 0);
    }

    // Allow/disallow a usr address to manage the cdp.
    function cdpAllow(
        uint cdp,
        address usr,
        uint ok
    ) public cdpAllowed(cdp) {
        cdpCan[owns[cdp]][cdp][usr] = ok;
    }

    // Allow/disallow a usr address to quit to the the sender urn.
    function urnAllow(
        address usr,
        uint ok
    ) public {
        urnCan[msg.sender][usr] = ok;
    }

    // Open a new cdp for a given usr address.
    function open(
        bytes32 ilk,
        address usr
    ) public note returns (uint) {
        require(usr != address(0), "usr-address-0");

        cdpi = add(cdpi, 1);
        urns[cdpi] = address(new UrnHandler(vat));
        owns[cdpi] = usr;
        ilks[cdpi] = ilk;

        // Add new CDP to double linked list and pointers
        if (first[usr] == 0) {
            first[usr] = cdpi;
        }
        if (last[usr] != 0) {
            list[cdpi].prev = last[usr];
            list[last[usr]].next = cdpi;
        }
        last[usr] = cdpi;
        count[usr] = add(count[usr], 1);

        emit NewCdp(msg.sender, usr, cdpi);
        return cdpi;
    }

    // Give the cdp ownership to a dst address.
    function give(
        uint cdp,
        address dst
    ) public note cdpAllowed(cdp) {
        require(dst != address(0), "dst-address-0");
        require(dst != owns[cdp], "dst-already-owner");

        // Remove transferred CDP from double linked list of origin user and pointers
        if (list[cdp].prev != 0) {
            list[list[cdp].prev].next = list[cdp].next;         // Set the next pointer of the prev cdp (if exists) to the next of the transferred one
        }
        if (list[cdp].next != 0) {                              // If wasn't the last one
            list[list[cdp].next].prev = list[cdp].prev;         // Set the prev pointer of the next cdp to the prev of the transferred one
        } else {                                                // If was the last one
            last[owns[cdp]] = list[cdp].prev;                   // Update last pointer of the owner
        }
        if (first[owns[cdp]] == cdp) {                          // If was the first one
            first[owns[cdp]] = list[cdp].next;                  // Update first pointer of the owner
        }
        count[owns[cdp]] = sub(count[owns[cdp]], 1);

        // Transfer ownership
        owns[cdp] = dst;

        // Add transferred CDP to double linked list of destiny user and pointers
        list[cdp].prev = last[dst];
        list[cdp].next = 0;
        if (last[dst] != 0) {
            list[last[dst]].next = cdp;
        }
        if (first[dst] == 0) {
            first[dst] = cdp;
        }
        last[dst] = cdp;
        count[dst] = add(count[dst], 1);
    }

    // Frob the cdp keeping the generated DAI or collateral freed in the cdp urn address.
    function frob(
        uint cdp,
        int dink,
        int dart
    ) public note cdpAllowed(cdp) {
        address urn = urns[cdp];
        VatLike(vat).frob(
            ilks[cdp],
            urn,
            urn,
            urn,
            dink,
            dart
        );
    }

    // Transfer wad amount of cdp collateral from the cdp address to a dst address.
    function flux(
        uint cdp,
        address dst,
        uint wad
    ) public note cdpAllowed(cdp) {
        VatLike(vat).flux(ilks[cdp], urns[cdp], dst, wad);
    }

    // Transfer wad amount of any type of collateral (ilk) from the cdp address to a dst address.
    // This function has the purpose to take away collateral from the system that doesn't correspond to the cdp but was sent there wrongly.
    function flux(
        bytes32 ilk,
        uint cdp,
        address dst,
        uint wad
    ) public note cdpAllowed(cdp) {
        VatLike(vat).flux(ilk, urns[cdp], dst, wad);
    }

    // Transfer wad amount of DAI from the cdp address to a dst address.
    function move(
        uint cdp,
        address dst,
        uint rad
    ) public note cdpAllowed(cdp) {
        VatLike(vat).move(urns[cdp], dst, rad);
    }

    // Quit the system, migrating the cdp (ink, art) to a different dst urn
    function quit(
        uint cdp,
        address dst
    ) public note cdpAllowed(cdp) urnAllowed(dst) {
        (uint ink, uint art) = VatLike(vat).urns(ilks[cdp], urns[cdp]);
        VatLike(vat).fork(
            ilks[cdp],
            urns[cdp],
            dst,
            toInt(ink),
            toInt(art)
        );
    }

    // Import a position from src urn to the urn owned by cdp
    function enter(
        address src,
        uint cdp
    ) public note urnAllowed(src) cdpAllowed(cdp) {
        (uint ink, uint art) = VatLike(vat).urns(ilks[cdp], src);
        VatLike(vat).fork(
            ilks[cdp],
            src,
            urns[cdp],
            toInt(ink),
            toInt(art)
        );
    }

    // Move a position from cdpSrc urn to the cdpDst urn
    function shift(
        uint cdpSrc,
        uint cdpDst
    ) public note cdpAllowed(cdpSrc) cdpAllowed(cdpDst) {
        require(ilks[cdpSrc] == ilks[cdpDst], "non-matching-cdps");
        (uint ink, uint art) = VatLike(vat).urns(ilks[cdpSrc], urns[cdpSrc]);
        VatLike(vat).fork(
            ilks[cdpSrc],
            urns[cdpSrc],
            urns[cdpDst],
            toInt(ink),
            toInt(art)
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"vat_","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"arg1","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"arg2","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"usr","type":"address"},{"indexed":true,"internalType":"address","name":"own","type":"address"},{"indexed":true,"internalType":"uint256","name":"cdp","type":"uint256"}],"name":"NewCdp","type":"event"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"ok","type":"uint256"}],"name":"cdpAllow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"cdpCan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cdpi","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"uint256","name":"cdp","type":"uint256"}],"name":"enter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"first","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"flux","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"flux","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"int256","name":"dink","type":"int256"},{"internalType":"int256","name":"dart","type":"int256"}],"name":"frob","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"address","name":"dst","type":"address"}],"name":"give","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ilks","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"last","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"list","outputs":[{"internalType":"uint256","name":"prev","type":"uint256"},{"internalType":"uint256","name":"next","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rad","type":"uint256"}],"name":"move","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"ilk","type":"bytes32"},{"internalType":"address","name":"usr","type":"address"}],"name":"open","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"owns","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdp","type":"uint256"},{"internalType":"address","name":"dst","type":"address"}],"name":"quit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"cdpSrc","type":"uint256"},{"internalType":"uint256","name":"cdpDst","type":"uint256"}],"name":"shift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"ok","type":"uint256"}],"name":"urnAllow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"urnCan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"urns","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vat","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50604051613bf1380380613bf18339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613b5d806100946000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806380c9419e116100b8578063b3d178f21161007c578063b3d178f2146106f4578063b68f400414610712578063e50322a214610760578063f9f30db614610798578063fc73d771146107f0578063fcafcc681461084857610142565b806380c9419e146105155780638161b1201461055e5780639a816f7d146105cc5780639bb8f83814610624578063b2b192e61461067c57610142565b80632c2cb9fd1161010a5780632c2cb9fd1461031557806336569e771461035757806345e6bdcd146103a15780635aebb460146103e35780636090dec5146104655780637e348b7d146104c757610142565b806305d85eda146101475780630b63fb621461019f57806318af4d60146101f75780631b0dbf72146102595780632726b073146102a7575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610896565b6040518082815260200191505060405180910390f35b6101f5600480360360608110156101b557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ae565b005b6102576004803603608081101561020d57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b19565b005b6102a56004803603604081101561026f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e22565b005b6102d3600480360360208110156102bd57600080fd5b81019080803590602001909291905050506113b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103416004803603602081101561032b57600080fd5b81019080803590602001909291905050506113ea565b6040518082815260200191505060405180910390f35b61035f611402565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e1600480360360608110156103b757600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611427565b005b61044f600480360360608110156103f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611784565b6040518082815260200191505060405180910390f35b6104b16004803603604081101561047b57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b6565b6040518082815260200191505060405180910390f35b610513600480360360408110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cac565b005b6105416004803603602081101561052b57600080fd5b810190808035906020019092919050505061220e565b604051808381526020018281526020019250505060405180910390f35b61058a6004803603602081101561057457600080fd5b8101908080359060200190929190505050612232565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61060e600480360360208110156105e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612265565b6040518082815260200191505060405180910390f35b61067a6004803603606081101561063a57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061227d565b005b6106de6004803603604081101561069257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612598565b6040518082815260200191505060405180910390f35b6106fc6125bd565b6040518082815260200191505060405180910390f35b61075e6004803603604081101561072857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506125c3565b005b6107966004803603604081101561077657600080fd5b810190808035906020019092919080359060200190929190505050612648565b005b6107ee600480360360608110156107ae57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d22565b005b6108326004803603602081101561080657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613022565b6040518082815260200191505060405180910390f35b6108946004803603604081101561085e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061303a565b005b60086020528060005260406000206000915090505481565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109dc57506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610a4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b81600960006004600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c4757506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610cb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636111be2e866002600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686866040518563ffffffff1660e01b8152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b50505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050505050565b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f5057506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610fc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061107957506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6110eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f75726e2d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632424be5c6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b1580156111d957600080fd5b505afa1580156111ed573d6000803e3d6000fd5b505050506040513d604081101561120357600080fd5b810190808051906020019092919080519060200190929190505050915091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663870c616d6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886112b1876139ab565b6112ba876139ab565b6040518663ffffffff1660e01b8152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200195505050505050600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50505050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061155557506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6115c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376088703600560008881526020019081526020016000205483848589896040518763ffffffff1660e01b8152600401808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019650505050505050600060405180830381600087803b15801561173257600080fd5b505af1158015611746573d6000803e3d6000fd5b5050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b600960205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561185a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f7573722d616464726573732d300000000000000000000000000000000000000081525060200191505060405180910390fd5b61186760015460016139c3565b6001819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161189b906139f7565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156118ed573d6000803e3d6000fd5b5060026000600154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160046000600154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006001548152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611a3e57600154600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611b3e57600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003600060015481526020019081526020016000206000018190555060015460036000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101819055505b600154600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bce600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016139c3565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001548273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd6be0bc178658a382ff4f91c8c68b542aa6b71685b8fe427966b87745c3ea7a260405160405180910390a460015490505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45092915050565b818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611d6357506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611dd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f75726e2d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611f0357506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611f75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632424be5c6005600088815260200190815260200160002054886040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b15801561203057600080fd5b505afa158015612044573d6000803e3d6000fd5b505050506040513d604081101561205a57600080fd5b810190808051906020019092919080519060200190929190505050915091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663870c616d600560008881526020019081526020016000205488600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612108876139ab565b612111876139ab565b6040518663ffffffff1660e01b8152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200195505050505050600060405180830381600087803b1580156121bb57600080fd5b505af11580156121cf573d6000803e3d6000fd5b50505050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60036020528060005260406000206000915090508060000154908060010154905082565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806123ab57506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b61241d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636111be2e60056000878152602001908152602001600020546002600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686866040518563ffffffff1660e01b8152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b15801561254757600080fd5b505af115801561255b573d6000803e3d6000fd5b50505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b600a602052816000526040600020602052806000526040600020600091509150505481565b60015481565b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061277657506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6127e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061291657506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b612988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6005600084815260200190815260200160002054600560008681526020019081526020016000205414612a23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f6e2d6d61746368696e672d6364707300000000000000000000000000000081525060200191505060405180910390fd5b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632424be5c6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015612b1157600080fd5b505afa158015612b25573d6000803e3d6000fd5b505050506040513d6040811015612b3b57600080fd5b810190808051906020019092919080519060200190929190505050915091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663870c616d6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612c1c876139ab565b612c25876139ab565b6040518663ffffffff1660e01b8152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200195505050505050600060405180830381600087803b158015612ccf57600080fd5b505af1158015612ce3573d6000803e3d6000fd5b50505050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612e5057506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b612ec2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb35783b6002600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015612fd157600080fd5b505af1158015612fe5573d6000803e3d6000fd5b50505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b60066020528060005260406000206000915090505481565b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061316857506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6131da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561327d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6473742d616464726573732d300000000000000000000000000000000000000081525060200191505060405180910390fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613352576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6473742d616c72656164792d6f776e657200000000000000000000000000000081525060200191505060405180910390fd5b60006003600085815260200190815260200160002060000154146133b85760036000848152602001908152602001600020600101546003600060036000878152602001908152602001600020600001548152602001908152602001600020600101819055505b60006003600085815260200190815260200160002060010154146134225760036000848152602001908152602001600020600001546003600060036000878152602001908152602001600020600101548152602001908152602001600020600001819055506134b0565b6003600084815260200190815260200160002060000154600760006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600660006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156135b8576003600084815260200190815260200160002060010154600660006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b613635600860006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016139dd565b600860006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003600085815260200190815260200160002060000181905550600060036000858152602001908152602001600020600101819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414613815578260036000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101819055505b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156138a25782600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613930600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016139c3565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b600081905060008112156139be57600080fd5b919050565b60008282840191508110156139d757600080fd5b92915050565b60008282840391508111156139f157600080fd5b92915050565b61012480613a058339019056fe6080604052348015600f57600080fd5b5060405161012438038061012483398181016040526020811015603157600080fd5b81019080805190602001909291905050508073ffffffffffffffffffffffffffffffffffffffff1663a3b22fc4336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801560c057600080fd5b505af115801560d3573d6000803e3d6000fd5b5050505050603e806100e66000396000f3fe6080604052600080fdfea265627a7a7231582011d8228e4d52a33e72559199f2a9e6502500acb18f172cf552c647d56fee044f64736f6c634300050c0032a265627a7a723158206b3b639e0afdc17dc08b18e9de88cc23f7660f74f3b7b18d0cb4f00d516c544364736f6c634300050c003200000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806380c9419e116100b8578063b3d178f21161007c578063b3d178f2146106f4578063b68f400414610712578063e50322a214610760578063f9f30db614610798578063fc73d771146107f0578063fcafcc681461084857610142565b806380c9419e146105155780638161b1201461055e5780639a816f7d146105cc5780639bb8f83814610624578063b2b192e61461067c57610142565b80632c2cb9fd1161010a5780632c2cb9fd1461031557806336569e771461035757806345e6bdcd146103a15780635aebb460146103e35780636090dec5146104655780637e348b7d146104c757610142565b806305d85eda146101475780630b63fb621461019f57806318af4d60146101f75780631b0dbf72146102595780632726b073146102a7575b600080fd5b6101896004803603602081101561015d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610896565b6040518082815260200191505060405180910390f35b6101f5600480360360608110156101b557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ae565b005b6102576004803603608081101561020d57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b19565b005b6102a56004803603604081101561026f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e22565b005b6102d3600480360360208110156102bd57600080fd5b81019080803590602001909291905050506113b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103416004803603602081101561032b57600080fd5b81019080803590602001909291905050506113ea565b6040518082815260200191505060405180910390f35b61035f611402565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e1600480360360608110156103b757600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611427565b005b61044f600480360360608110156103f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611784565b6040518082815260200191505060405180910390f35b6104b16004803603604081101561047b57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b6565b6040518082815260200191505060405180910390f35b610513600480360360408110156104dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cac565b005b6105416004803603602081101561052b57600080fd5b810190808035906020019092919050505061220e565b604051808381526020018281526020019250505060405180910390f35b61058a6004803603602081101561057457600080fd5b8101908080359060200190929190505050612232565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61060e600480360360208110156105e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612265565b6040518082815260200191505060405180910390f35b61067a6004803603606081101561063a57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061227d565b005b6106de6004803603604081101561069257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612598565b6040518082815260200191505060405180910390f35b6106fc6125bd565b6040518082815260200191505060405180910390f35b61075e6004803603604081101561072857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506125c3565b005b6107966004803603604081101561077657600080fd5b810190808035906020019092919080359060200190929190505050612648565b005b6107ee600480360360608110156107ae57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d22565b005b6108326004803603602081101561080657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613022565b6040518082815260200191505060405180910390f35b6108946004803603604081101561085e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061303a565b005b60086020528060005260406000206000915090505481565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109dc57506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610a4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b81600960006004600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c4757506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610cb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636111be2e866002600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686866040518563ffffffff1660e01b8152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b50505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050505050565b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f5057506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b610fc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061107957506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6110eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f75726e2d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632424be5c6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b1580156111d957600080fd5b505afa1580156111ed573d6000803e3d6000fd5b505050506040513d604081101561120357600080fd5b810190808051906020019092919080519060200190929190505050915091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663870c616d6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886112b1876139ab565b6112ba876139ab565b6040518663ffffffff1660e01b8152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200195505050505050600060405180830381600087803b15801561136457600080fd5b505af1158015611378573d6000803e3d6000fd5b50505050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061155557506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6115c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b60006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376088703600560008881526020019081526020016000205483848589896040518763ffffffff1660e01b8152600401808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019650505050505050600060405180830381600087803b15801561173257600080fd5b505af1158015611746573d6000803e3d6000fd5b5050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b600960205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561185a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f7573722d616464726573732d300000000000000000000000000000000000000081525060200191505060405180910390fd5b61186760015460016139c3565b6001819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161189b906139f7565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156118ed573d6000803e3d6000fd5b5060026000600154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160046000600154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600560006001548152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611a3e57600154600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611b3e57600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003600060015481526020019081526020016000206000018190555060015460036000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101819055505b600154600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bce600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016139c3565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001548273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd6be0bc178658a382ff4f91c8c68b542aa6b71685b8fe427966b87745c3ea7a260405160405180910390a460015490505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45092915050565b818073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611d6357506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611dd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f75726e2d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611f0357506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b611f75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632424be5c6005600088815260200190815260200160002054886040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b15801561203057600080fd5b505afa158015612044573d6000803e3d6000fd5b505050506040513d604081101561205a57600080fd5b810190808051906020019092919080519060200190929190505050915091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663870c616d600560008881526020019081526020016000205488600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612108876139ab565b612111876139ab565b6040518663ffffffff1660e01b8152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200195505050505050600060405180830381600087803b1580156121bb57600080fd5b505af11580156121cf573d6000803e3d6000fd5b50505050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b60036020528060005260406000206000915090508060000154908060010154905082565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806123ab57506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b61241d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636111be2e60056000878152602001908152602001600020546002600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686866040518563ffffffff1660e01b8152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b15801561254757600080fd5b505af115801561255b573d6000803e3d6000fd5b50505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b600a602052816000526040600020602052806000526040600020600091509150505481565b60015481565b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061277657506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6127e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061291657506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b612988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6005600084815260200190815260200160002054600560008681526020019081526020016000205414612a23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f6e2d6d61746368696e672d6364707300000000000000000000000000000081525060200191505060405180910390fd5b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632424be5c6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015612b1157600080fd5b505afa158015612b25573d6000803e3d6000fd5b505050506040513d6040811015612b3b57600080fd5b810190808051906020019092919080519060200190929190505050915091506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663870c616d6005600089815260200190815260200160002054600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612c1c876139ab565b612c25876139ab565b6040518663ffffffff1660e01b8152600401808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200195505050505050600060405180830381600087803b158015612ccf57600080fd5b505af1158015612ce3573d6000803e3d6000fd5b50505050505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b826004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612e5057506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b612ec2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb35783b6002600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015612fd157600080fd5b505af1158015612fe5573d6000803e3d6000fd5b50505050505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b60066020528060005260406000206000915090505481565b816004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061316857506001600960006004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b6131da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6364702d6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561327d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6473742d616464726573732d300000000000000000000000000000000000000081525060200191505060405180910390fd5b6004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613352576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6473742d616c72656164792d6f776e657200000000000000000000000000000081525060200191505060405180910390fd5b60006003600085815260200190815260200160002060000154146133b85760036000848152602001908152602001600020600101546003600060036000878152602001908152602001600020600001548152602001908152602001600020600101819055505b60006003600085815260200190815260200160002060010154146134225760036000848152602001908152602001600020600001546003600060036000878152602001908152602001600020600101548152602001908152602001600020600001819055506134b0565b6003600084815260200190815260200160002060000154600760006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600660006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156135b8576003600084815260200190815260200160002060010154600660006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b613635600860006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016139dd565b600860006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003600085815260200190815260200160002060000181905550600060036000858152602001908152602001600020600101819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414613815578260036000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101819055505b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156138a25782600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613930600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016139c3565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b600081905060008112156139be57600080fd5b919050565b60008282840191508110156139d757600080fd5b92915050565b60008282840391508111156139f157600080fd5b92915050565b61012480613a058339019056fe6080604052348015600f57600080fd5b5060405161012438038061012483398181016040526020811015603157600080fd5b81019080805190602001909291905050508073ffffffffffffffffffffffffffffffffffffffff1663a3b22fc4336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801560c057600080fd5b505af115801560d3573d6000803e3d6000fd5b5050505050603e806100e66000396000f3fe6080604052600080fdfea265627a7a7231582011d8228e4d52a33e72559199f2a9e6502500acb18f172cf552c647d56fee044f64736f6c634300050c0032a265627a7a723158206b3b639e0afdc17dc08b18e9de88cc23f7660f74f3b7b18d0cb4f00d516c544364736f6c634300050c0032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b

-----Decoded View---------------
Arg [0] : vat_ (address): 0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b


Deployed Bytecode Sourcemap

2784:7533:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2784:7533:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3389:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3389:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4833:158;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4833:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8530:193;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8530:193:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9056:342;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9056:342:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2937:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2937:37:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3177:37:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2825:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7709:303;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7709:303:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3467:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3467:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5242:692;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5242:692:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9469:337;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9469:337:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3009:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3009:37:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;3110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3110:37:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3317:37:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8105:177;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8105:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3701:100;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3701:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2868:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5067:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5067:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9872:442;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9872:442:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8805:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8805:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3244:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3244:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5991:1619;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5991:1619:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3389:38;;;;;;;;;;;;;;;;;:::o;4833:158::-;4935:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:2;4951:6;:17;4958:4;:9;4963:3;4958:9;;;;;;;;;;;;;;;;;;;;;4951:17;;;;;;;;;;;;;;;:22;4969:3;4951:22;;;;;;;;;;;:27;4974:3;4951:27;;;;;;;;;;;;;;;:32;;;;4833:158;;;;:::o;8530:193::-;8656:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8680:3;;;;;;;;;;;8672:17;;;8690:3;8695:4;:9;8700:3;8695:9;;;;;;;;;;;;;;;;;;;;;8706:3;8711;8672:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8672:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8672:43:0;;;;1166:1;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;;;:::o;9056:342::-;9141:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9157:3;4284;4270:17;;:10;:17;;;:49;;;;4318:1;4291:6;:11;4298:3;4291:11;;;;;;;;;;;;;;;:23;4303:10;4291:23;;;;;;;;;;;;;;;;:28;4270:49;4262:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9174:8;9184;9204:3;;;;;;;;;;;9196:17;;;9214:4;:9;9219:3;9214:9;;;;;;;;;;;;9225:4;:9;9230:3;9225:9;;;;;;;;;;;;;;;;;;;;;9196:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9196:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9196:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9196:39:0;;;;;;;;;;;;;;;;;;;;;;;;;9173:62;;;;9254:3;;;;;;;;;;;9246:17;;;9278:4;:9;9283:3;9278:9;;;;;;;;;;;;9302:4;:9;9307:3;9302:9;;;;;;;;;;;;;;;;;;;;;9326:3;9344:10;9350:3;9344:5;:10::i;:::-;9369;9375:3;9369:5;:10::i;:::-;9246:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9246:144:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9246:144:0;;;;4350:1;;4185;1166;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;:::o;2937:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;3177:::-;;;;;;;;;;;;;;;;;:::o;2825:36::-;;;;;;;;;;;;;:::o;7709:303::-;7810:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7826:11;7840:4;:9;7845:3;7840:9;;;;;;;;;;;;;;;;;;;;;7826:23;;7868:3;;;;;;;;;;;7860:17;;;7892:4;:9;7897:3;7892:9;;;;;;;;;;;;7916:3;7934;7952;7970:4;7989;7860:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7860:144:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7860:144:0;;;;4185:1;1166;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;;:::o;3467:150::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5242:692::-;5328:4;5368:1;5353:17;;:3;:17;;;;5345:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5408:12;5412:4;;5418:1;5408:3;:12::i;:::-;5401:4;:19;;;;5467:3;;;;;;;;;;;5452:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5452:19:0;5431:4;:10;5436:4;;5431:10;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;5496:3;5483:4;:10;5488:4;;5483:10;;;;;;;;;;;;:16;;;;;;;;;;;;;;;;;;5523:3;5510:4;:10;5515:4;;5510:10;;;;;;;;;;;:16;;;;5616:1;5602:5;:10;5608:3;5602:10;;;;;;;;;;;;;;;;:15;5598:65;;;5647:4;;5634:5;:10;5640:3;5634:10;;;;;;;;;;;;;;;:17;;;;5598:65;5690:1;5677:4;:9;5682:3;5677:9;;;;;;;;;;;;;;;;:14;5673:116;;5726:4;:9;5731:3;5726:9;;;;;;;;;;;;;;;;5708:4;:10;5713:4;;5708:10;;;;;;;;;;;:15;;:27;;;;5773:4;;5750;:15;5755:4;:9;5760:3;5755:9;;;;;;;;;;;;;;;;5750:15;;;;;;;;;;;:20;;:27;;;;5673:116;5811:4;;5799;:9;5804:3;5799:9;;;;;;;;;;;;;;;:16;;;;5839:18;5843:5;:10;5849:3;5843:10;;;;;;;;;;;;;;;;5855:1;5839:3;:18::i;:::-;5826:5;:10;5832:3;5826:10;;;;;;;;;;;;;;;:31;;;;5899:4;;5894:3;5875:29;;5882:10;5875:29;;;;;;;;;;;;5922:4;;5915:11;;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;;;:::o;9469:337::-;9555:3;4284;4270:17;;:10;:17;;;:49;;;;4318:1;4291:6;:11;4298:3;4291:11;;;;;;;;;;;;;;;:23;4303:10;4291:23;;;;;;;;;;;;;;;;:28;4270:49;4262:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9571:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9588:8;9598;9618:3;;;;;;;;;;;9610:17;;;9628:4;:9;9633:3;9628:9;;;;;;;;;;;;9639:3;9610:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9610:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9610:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9610:33:0;;;;;;;;;;;;;;;;;;;;;;;;;9587:56;;;;9662:3;;;;;;;;;;;9654:17;;;9686:4;:9;9691:3;9686:9;;;;;;;;;;;;9710:3;9728:4;:9;9733:3;9728:9;;;;;;;;;;;;;;;;;;;;;9752:10;9758:3;9752:5;:10::i;:::-;9777;9783:3;9777:5;:10::i;:::-;9654:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9654:144:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9654:144:0;;;;4185:1;;4350;1166;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;:::o;3009:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3110:::-;;;;;;;;;;;;;;;;;;;;;;:::o;3317:::-;;;;;;;;;;;;;;;;;:::o;8105:177::-;8209:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8233:3;;;;;;;;;;;8225:17;;;8243:4;:9;8248:3;8243:9;;;;;;;;;;;;8254:4;:9;8259:3;8254:9;;;;;;;;;;;;;;;;;;;;;8265:3;8270;8225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8225:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8225:49:0;;;;1166:1;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;;:::o;3701:100::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2868:37::-;;;;:::o;5067:119::-;5176:2;5150:6;:18;5157:10;5150:18;;;;;;;;;;;;;;;:23;5169:3;5150:23;;;;;;;;;;;;;;;:28;;;;5067:119;;:::o;9872:442::-;9961:6;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9980:6;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10023:4;:12;10028:6;10023:12;;;;;;;;;;;;10007:4;:12;10012:6;10007:12;;;;;;;;;;;;:28;9999:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10069:8;10079;10099:3;;;;;;;;;;;10091:17;;;10109:4;:12;10114:6;10109:12;;;;;;;;;;;;10123:4;:12;10128:6;10123:12;;;;;;;;;;;;;;;;;;;;;10091:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10091:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10091:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10091:45:0;;;;;;;;;;;;;;;;;;;;;;;;;10068:68;;;;10155:3;;;;;;;;;;;10147:17;;;10179:4;:12;10184:6;10179:12;;;;;;;;;;;;10206:4;:12;10211:6;10206:12;;;;;;;;;;;;;;;;;;;;;10233:4;:12;10238:6;10233:12;;;;;;;;;;;;;;;;;;;;;10260:10;10266:3;10260:5;:10::i;:::-;10285;10291:3;10285:5;:10::i;:::-;10147:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10147:159:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10147:159:0;;;;4185:1;;;1166;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;:::o;8805:166::-;8909:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8933:3;;;;;;;;;;;8925:17;;;8943:4;:9;8948:3;8943:9;;;;;;;;;;;;;;;;;;;;;8954:3;8959;8925:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8925:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8925:38:0;;;;1166:1;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;;:::o;3244:38::-;;;;;;;;;;;;;;;;;:::o;5991:1619::-;6076:3;4102:4;:9;4107:3;4102:9;;;;;;;;;;;;;;;;;;;;;4088:23;;:10;:23;;;:66;;;;4153:1;4115:6;:17;4122:4;:9;4127:3;4122:9;;;;;;;;;;;;;;;;;;;;;4115:17;;;;;;;;;;;;;;;:22;4133:3;4115:22;;;;;;;;;;;:34;4138:10;4115:34;;;;;;;;;;;;;;;;:39;4088:66;4080:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6115:1;6100:17;;:3;:17;;;;6092:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6161:4;:9;6166:3;6161:9;;;;;;;;;;;;;;;;;;;;;6154:16;;:3;:16;;;;6146:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6314:1;6296:4;:9;6301:3;6296:9;;;;;;;;;;;:14;;;:19;6292:189;;6360:4;:9;6365:3;6360:9;;;;;;;;;;;:14;;;6332:4;:20;6337:4;:9;6342:3;6337:9;;;;;;;;;;;:14;;;6332:20;;;;;;;;;;;:25;;:42;;;;6292:189;6513:1;6495:4;:9;6500:3;6495:9;;;;;;;;;;;:14;;;:19;6491:421;;6614:4;:9;6619:3;6614:9;;;;;;;;;;;:14;;;6586:4;:20;6591:4;:9;6596:3;6591:9;;;;;;;;;;;:14;;;6586:20;;;;;;;;;;;:25;;:42;;;;6491:421;;;6832:4;:9;6837:3;6832:9;;;;;;;;;;;:14;;;6814:4;:15;6819:4;:9;6824:3;6819:9;;;;;;;;;;;;;;;;;;;;;6814:15;;;;;;;;;;;;;;;:32;;;;6491:421;6946:3;6926:5;:16;6932:4;:9;6937:3;6932:9;;;;;;;;;;;;;;;;;;;;;6926:16;;;;;;;;;;;;;;;;:23;6922:192;;;7034:4;:9;7039:3;7034:9;;;;;;;;;;;:14;;;7015:5;:16;7021:4;:9;7026:3;7021:9;;;;;;;;;;;;;;;;;;;;;7015:16;;;;;;;;;;;;;;;:33;;;;6922:192;7143:24;7147:5;:16;7153:4;:9;7158:3;7153:9;;;;;;;;;;;;;;;;;;;;;7147:16;;;;;;;;;;;;;;;;7165:1;7143:3;:24::i;:::-;7124:5;:16;7130:4;:9;7135:3;7130:9;;;;;;;;;;;;;;;;;;;;;7124:16;;;;;;;;;;;;;;;:43;;;;7223:3;7211:4;:9;7216:3;7211:9;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;7339:4;:9;7344:3;7339:9;;;;;;;;;;;;;;;;7322:4;:9;7327:3;7322:9;;;;;;;;;;;:14;;:26;;;;7376:1;7359:4;:9;7364:3;7359:9;;;;;;;;;;;:14;;:18;;;;7405:1;7392:4;:9;7397:3;7392:9;;;;;;;;;;;;;;;;:14;7388:73;;7446:3;7423:4;:15;7428:4;:9;7433:3;7428:9;;;;;;;;;;;;;;;;7423:15;;;;;;;;;;;:20;;:26;;;;7388:73;7489:1;7475:5;:10;7481:3;7475:10;;;;;;;;;;;;;;;;:15;7471:64;;;7520:3;7507:5;:10;7513:3;7507:10;;;;;;;;;;;;;;;:16;;;;7471:64;7557:3;7545:4;:9;7550:3;7545:9;;;;;;;;;;;;;;;:15;;;;7584:18;7588:5;:10;7594:3;7588:10;;;;;;;;;;;;;;;;7600:1;7584:3;:18::i;:::-;7571:5;:10;7577:3;7571:10;;;;;;;;;;;;;;;:31;;;;1166:1;1364:5;1460:3;1454:4;1450:14;1444:4;1437:28;1535:4;1529;1522:18;1627:3;1620:4;1614;1610:15;1603:28;1714:3;1711:1;1704:4;1698;1694:15;1681:37;2036:2;2023:16;1973:1;1960:15;1891:6;1856:1;1843:15;1838:3;1834:25;1829:3;1825:35;1764:3;1758:4;1753:333;1187:910;;;:::o;4661:108::-;4707:5;4733:1;4725:10;;4759:1;4754;:6;;4746:15;;;;;;4661:108;;;:::o;4437:104::-;4489:6;4531:1;4525;4521;:5;4517:9;;;4516:16;;4508:25;;;;;;4437:104;;;;:::o;4549:::-;4601:6;4643:1;4637;4633;:5;4629:9;;;4628:16;;4620:25;;;;;;4549:104;;;;:::o;2784:7533::-;;;;;;;;:::o

Swarm Source

bzzr://6b3b639e0afdc17dc08b18e9de88cc23f7660f74f3b7b18d0cb4f00d516c5443

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.