Token POAP

Overview ERC721

Total Supply:
5,893,804 The Proof of Attendance Protocol

Holders:
987,021 addresses
Balance
1 The Proof of Attendance Protocol
0x22615c39ade68a6ee3f3f4d60ef1e40defe49c38
Loading
[ Download CSV Export  ] 
Loading
Loading

OVERVIEW

POAPs are digital mementos, minted in celebration of life's remarkable moments. Each POAP is a gift from an issuer to collectors, in celebration of a special shared memory.


Update? Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-08-24
*/

pragma solidity ^0.5.0;

/**
 * Utility library of inline functions on addresses
 *
 * Source https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/v2.1.3/contracts/utils/Address.sol
 * This contract is copied here and renamed from the original to avoid clashes in the compiled artifacts
 * when the user imports a zos-lib contract (that transitively causes this contract to be compiled and added to the
 * build/artifacts folder) as well as the vanilla Address implementation from an openzeppelin version.
 */
library ZOSLibAddress {
    /**
     * Returns whether the target address is a contract
     * @dev This function will return false if invoked during the constructor of a contract,
     * as the code is not actually created until after the constructor finishes.
     * @param account address of the account to check
     * @return whether the target address is a contract
     */
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        // XXX Currently there is no better way to check if there is a contract in an address
        // than to check the size of the code at that address.
        // See https://ethereum.stackexchange.com/a/14016/36603
        // for more details about how this works.
        // TODO Check this again before the Serenity release, because all addresses will be
        // contracts then.
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}          
          

/**
 * @title Proxy
 * @dev Implements delegation of calls to other contracts, with proper
 * forwarding of return values and bubbling of failures.
 * It defines a fallback function that delegates all calls to the address
 * returned by the abstract _implementation() internal function.
 */
contract Proxy {
  /**
   * @dev Fallback function.
   * Implemented entirely in `_fallback`.
   */
  function () payable external {
    _fallback();
  }

  /**
   * @return The Address of the implementation.
   */
  function _implementation() internal view returns (address);

  /**
   * @dev Delegates execution to an implementation contract.
   * This is a low level function that doesn't return to its internal call site.
   * It will return to the external caller whatever the implementation returns.
   * @param implementation Address to delegate.
   */
  function _delegate(address implementation) internal {
    assembly {
      // Copy msg.data. We take full control of memory in this inline assembly
      // block because it will not return to Solidity code. We overwrite the
      // Solidity scratch pad at memory position 0.
      calldatacopy(0, 0, calldatasize)

      // Call the implementation.
      // out and outsize are 0 because we don't know the size yet.
      let result := delegatecall(gas, implementation, 0, calldatasize, 0, 0)

      // Copy the returned data.
      returndatacopy(0, 0, returndatasize)

      switch result
      // delegatecall returns 0 on error.
      case 0 { revert(0, returndatasize) }
      default { return(0, returndatasize) }
    }
  }

  /**
   * @dev Function that is run as the first thing in the fallback function.
   * Can be redefined in derived contracts to add functionality.
   * Redefinitions must call super._willFallback().
   */
  function _willFallback() internal {
  }

  /**
   * @dev fallback implementation.
   * Extracted to enable manual triggering.
   */
  function _fallback() internal {
    _willFallback();
    _delegate(_implementation());
  }
}
          

/**
 * @title BaseUpgradeabilityProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract BaseUpgradeabilityProxy is Proxy {
  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  event Upgraded(address indexed implementation);

  /**
   * @dev Storage slot with the address of the current implementation.
   * This is the keccak-256 hash of "org.zeppelinos.proxy.implementation", and is
   * validated in the constructor.
   */
  bytes32 internal constant IMPLEMENTATION_SLOT = 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3;

  /**
   * @dev Returns the current implementation.
   * @return Address of the current implementation
   */
  function _implementation() internal view returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    assembly {
      impl := sload(slot)
    }
  }

  /**
   * @dev Upgrades the proxy to a new implementation.
   * @param newImplementation Address of the new implementation.
   */
  function _upgradeTo(address newImplementation) internal {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /**
   * @dev Sets the implementation address of the proxy.
   * @param newImplementation Address of the new implementation.
   */
  function _setImplementation(address newImplementation) internal {
    require(ZOSLibAddress.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");

    bytes32 slot = IMPLEMENTATION_SLOT;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}
          

/**
 * @title BaseAdminUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @dev Emitted when the administration has been transferred.
   * @param previousAdmin Address of the previous admin.
   * @param newAdmin Address of the new admin.
   */
  event AdminChanged(address previousAdmin, address newAdmin);

  /**
   * @dev Storage slot with the admin of the contract.
   * This is the keccak-256 hash of "org.zeppelinos.proxy.admin", and is
   * validated in the constructor.
   */
  bytes32 internal constant ADMIN_SLOT = 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b;

  /**
   * @dev Modifier to check whether the `msg.sender` is the admin.
   * If it is, it will run the function. Otherwise, it will delegate the call
   * to the implementation.
   */
  modifier ifAdmin() {
    if (msg.sender == _admin()) {
      _;
    } else {
      _fallback();
    }
  }

  /**
   * @return The address of the proxy admin.
   */
  function admin() external ifAdmin returns (address) {
    return _admin();
  }

  /**
   * @return The address of the implementation.
   */
  function implementation() external ifAdmin returns (address) {
    return _implementation();
  }

  /**
   * @dev Changes the admin of the proxy.
   * Only the current admin can call this function.
   * @param newAdmin Address to transfer proxy administration to.
   */
  function changeAdmin(address newAdmin) external ifAdmin {
    require(newAdmin != address(0), "Cannot change the admin of a proxy to the zero address");
    emit AdminChanged(_admin(), newAdmin);
    _setAdmin(newAdmin);
  }

  /**
   * @dev Upgrade the backing implementation of the proxy.
   * Only the admin can call this function.
   * @param newImplementation Address of the new implementation.
   */
  function upgradeTo(address newImplementation) external ifAdmin {
    _upgradeTo(newImplementation);
  }

  /**
   * @dev Upgrade the backing implementation of the proxy and call a function
   * on the new implementation.
   * This is useful to initialize the proxied contract.
   * @param newImplementation Address of the new implementation.
   * @param data Data to send as msg.data in the low level call.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   */
  function upgradeToAndCall(address newImplementation, bytes calldata data) payable external ifAdmin {
    _upgradeTo(newImplementation);
    (bool success,) = newImplementation.delegatecall(data);
    require(success);
  }

  /**
   * @return The admin slot.
   */
  function _admin() internal view returns (address adm) {
    bytes32 slot = ADMIN_SLOT;
    assembly {
      adm := sload(slot)
    }
  }

  /**
   * @dev Sets the address of the proxy admin.
   * @param newAdmin Address of the new proxy admin.
   */
  function _setAdmin(address newAdmin) internal {
    bytes32 slot = ADMIN_SLOT;

    assembly {
      sstore(slot, newAdmin)
    }
  }

  /**
   * @dev Only fall back when the sender is not the admin.
   */
  function _willFallback() internal {
    require(msg.sender != _admin(), "Cannot call fallback function from the proxy admin");
    super._willFallback();
  }
}

/**
 * @title UpgradeabilityProxy
 * @dev Extends BaseUpgradeabilityProxy with a constructor for initializing
 * implementation and init data.
 */
contract UpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @dev Contract constructor.
   * @param _logic Address of the initial implementation.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  constructor(address _logic, bytes memory _data) public payable {
    assert(IMPLEMENTATION_SLOT == keccak256("org.zeppelinos.proxy.implementation"));
    _setImplementation(_logic);
    if(_data.length > 0) {
      (bool success,) = _logic.delegatecall(_data);
      require(success);
    }
  }  
}   

/**
 * @title AdminUpgradeabilityProxy
 * @dev Extends from BaseAdminUpgradeabilityProxy with a constructor for 
 * initializing the implementation, admin, and init data.
 */
contract AdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, UpgradeabilityProxy {
  /**
   * Contract constructor.
   * @param _logic address of the initial implementation.
   * @param _admin Address of the proxy administrator.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  constructor(address _logic, address _admin, bytes memory _data) UpgradeabilityProxy(_logic, _data) public payable {
    assert(ADMIN_SLOT == keccak256("org.zeppelinos.proxy.admin"));
    _setAdmin(_admin);
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newImplementation","type":"address"},{"name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"implementation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_logic","type":"address"},{"name":"_admin","type":"address"},{"name":"_data","type":"bytes"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousAdmin","type":"address"},{"indexed":false,"name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"implementation","type":"address"}],"name":"Upgraded","type":"event"}]

6080604052604051610c70380380610c708339810180604052606081101561002657600080fd5b810190808051906020019092919080519060200190929190805164010000000081111561005257600080fd5b8281019050602081018481111561006857600080fd5b815185600182028301116401000000008211171561008557600080fd5b505092919050505082816040518080610c1260239139602301905060405180910390207f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001021415156100d557fe5b6100ed82610242640100000000026401000000009004565b6000815111156101bd5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b6020831015156101465780518252602082019150602081019050602083039250610121565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101a6576040519150601f19603f3d011682016040523d82523d6000602084013e6101ab565b606091505b505090508015156101bb57600080fd5b505b505060405180807f6f72672e7a657070656c696e6f732e70726f78792e61646d696e000000000000815250601a01905060405180910390207f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010214151561022257fe5b61023a826102e4640100000000026401000000009004565b505050610326565b61025e81610313640100000000026107fb176401000000009004565b15156102b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610c35603b913960400191505060405180910390fd5b60007f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b600080823b905060008111915050919050565b6108dd806103356000396000f3fe608060405260043610610067576000357c0100000000000000000000000000000000000000000000000000000000900480633659cfe6146100715780634f1ef286146100c25780635c60da1b1461015b5780638f283970146101b2578063f851a44014610203575b61006f61025a565b005b34801561007d57600080fd5b506100c06004803603602081101561009457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610274565b005b610159600480360360408110156100d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b90919293919293905050506102c9565b005b34801561016757600080fd5b506101706103a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101be57600080fd5b50610201600480360360208110156101d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103f9565b005b34801561020f57600080fd5b50610218610574565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102626105cc565b61027261026d610664565b610695565b565b61027c6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102bd576102b8816106ec565b6102c6565b6102c561025a565b5b50565b6102d16106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103935761030d836106ec565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610378576040519150601f19603f3d011682016040523d82523d6000602084013e61037d565b606091505b5050905080151561038d57600080fd5b5061039c565b61039b61025a565b5b505050565b60006103ab6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103ed576103e6610664565b90506103f6565b6103f561025a565b5b90565b6104016106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056857600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156104bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806108416036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e56106bb565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16105638161073b565b610571565b61057061025a565b5b50565b600061057e6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105c0576105b96106bb565b90506105c9565b6105c861025a565b5b90565b6105d46106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561065a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603281526020018061080f6032913960400191505060405180910390fd5b61066261076a565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106b6573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106f58161076c565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b610775816107fb565b15156107cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610877603b913960400191505060405180910390fd5b60007f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b90506000811191505091905056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a165627a7a72305820b6f16038090c753f0c6f1b3c6169e6efd0704d91ba6bb106c29b5fbd8aa554d700296f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e746174696f6e43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000000000000000000211621fb78c85ee44b12d2f04e2e2f16334a9fe000000000000000000000000dd3c426fa842f890bcb793da6ccd749edb09c44b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001648d232094000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000004504f41500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205468652050726f6f66206f6620417474656e64616e63652050726f746f636f6c000000000000000000000000000000000000000000000000000000000000001e68747470733a2f2f6170692e706f61702e78797a2f6d657461646174612f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

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

0000000000000000000000000211621fb78c85ee44b12d2f04e2e2f16334a9fe000000000000000000000000dd3c426fa842f890bcb793da6ccd749edb09c44b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001648d232094000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000004504f41500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205468652050726f6f66206f6620417474656e64616e63652050726f746f636f6c000000000000000000000000000000000000000000000000000000000000001e68747470733a2f2f6170692e706f61702e78797a2f6d657461646174612f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _logic (address): 0x0211621fb78c85ee44b12d2f04e2e2f16334a9fe
Arg [1] : _admin (address): 0xdd3c426fa842f890bcb793da6ccd749edb09c44b
Arg [2] : _data (bytes): 0x8d232094000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000004504f41500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205468652050726f6f66206f6620417474656e64616e63652050726f746f636f6c000000000000000000000000000000000000000000000000000000000000001e68747470733a2f2f6170692e706f61702e78797a2f6d657461646174612f00000000000000000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
16 Constructor Arguments found :
Arg [0] : 0000000000000000000000000211621fb78c85ee44b12d2f04e2e2f16334a9fe
Arg [1] : 000000000000000000000000dd3c426fa842f890bcb793da6ccd749edb09c44b
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000164
Arg [4] : 8d23209400000000000000000000000000000000000000000000000000000000
Arg [5] : 0000008000000000000000000000000000000000000000000000000000000000
Arg [6] : 000000c000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000010000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000014000000000000000000000000000000000000000000000000000000000
Arg [9] : 00000004504f4150000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 000000205468652050726f6f66206f6620417474656e64616e63652050726f74
Arg [12] : 6f636f6c00000000000000000000000000000000000000000000000000000000
Arg [13] : 0000001e68747470733a2f2f6170692e706f61702e78797a2f6d657461646174
Arg [14] : 612f000000000000000000000000000000000000000000000000000000000000
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

10478:888:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025:11;:9;:11::i;:::-;10478:888;7685:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7685:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7685:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8318:225;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8318:225:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;8318:225:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8318:225:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8318:225:0;;;;;;;;;;;;:::i;:::-;;6985:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6985:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7266:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7266:228:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7266:228:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6836:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6836:80:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3571:93;3608:15;:13;:15::i;:::-;3630:28;3640:17;:15;:17::i;:::-;3630:9;:28::i;:::-;3571:93::o;7685:105::-;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;7755:29;7766:17;7755:10;:29::i;:::-;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;7685:105;:::o;8318:225::-;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;8424:29;8435:17;8424:10;:29::i;:::-;8461:12;8478:17;:30;;8509:4;;8478:36;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;8478:36:0;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;8460:54:0;;;8529:7;8521:16;;;;;;;;6722:1;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;8318:225;;;:::o;6985:98::-;7037:7;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;7060:17;:15;:17::i;:::-;7053:24;;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;6985:98;:::o;7266:228::-;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;7357:1;7337:22;;:8;:22;;;;7329:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7430:32;7443:8;:6;:8::i;:::-;7453;7430:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7469:19;7479:8;7469:9;:19::i;:::-;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;7266:228;:::o;6836:80::-;6879:7;6703:8;:6;:8::i;:::-;6689:22;;:10;:22;;;6685:80;;;6902:8;:6;:8::i;:::-;6895:15;;6685:80;;;6746:11;:9;:11::i;:::-;6685:80;6836;:::o;9075:160::-;9138:8;:6;:8::i;:::-;9124:22;;:10;:22;;;;9116:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9208:21;:19;:21::i;:::-;9075:160::o;4577:161::-;4627:12;4648;4391:66;4663:19;;4648:34;;4721:4;4715:11;4707:19;;4698:35;;:::o;2464:750::-;2771:12;2768:1;2765;2752:32;2965:1;2962;2948:12;2945:1;2929:14;2924:3;2911:56;3032:14;3029:1;3026;3011:36;3064:6;3126:1;3121:36;;;;3185:14;3182:1;3175:25;3121:36;3140:14;3137:1;3130:25;8593:141;8634:11;8654:12;6396:66;8669:10;;8654:25;;8717:4;8711:11;8704:18;;8695:34;;:::o;4879:145::-;4942:37;4961:17;4942:18;:37::i;:::-;5000:17;4991:27;;;;;;;;;;;;4879:145;:::o;8856:139::-;8909:12;6396:66;8924:10;;8909:25;;8974:8;8968:4;8961:22;8952:38;;:::o;3430:40::-;:::o;5167:299::-;5246:43;5271:17;5246:24;:43::i;:::-;5238:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5362:12;4391:66;5377:19;;5362:34;;5436:17;5430:4;5423:31;5414:47;;:::o;928:627::-;988:4;1005:12;1512:7;1500:20;1492:28;;1546:1;1539:4;:8;1532:15;;;928:627;;;:::o

Swarm Source

bzzr://b6f16038090c753f0c6f1b3c6169e6efd0704d91ba6bb106c29b5fbd8aa554d7
Loading