IBVM Testnet

Contract

0x5705C64e175A2131520e8325F82bC87E949A3461

Overview

IBVMI Balance

IBVM Smart Chain LogoIBVM Smart Chain LogoIBVM Smart Chain Logo 0 IBVMI

Token Holdings

 Latest 1 from a total of 1 transactions

Transaction Hash
Method
Block
From
To
Value
0x60806040 84672 Nov 20,2025 9:50:25 AM 1 day ago Nov 20,2025 9:50:25 AM IN 0 IBVMI 0.00378953 1 Gwei

 Latest ERC-20 Token Transfer Events (View All)

Transaction Hash Method Block Age From To Amount Token
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenBridge

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
paris evmVersion, MIT License (MIT) license

Contract Source Code (Solidity)

Contract ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_tokenManager",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_vault",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_owner",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "EnforcedPause",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ExpectedPause",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "OwnableInvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "OwnableUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReentrancyGuardReentrantCall",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "multiSigAdmin",
        "type": "address"
      }
    ],
    "name": "AdministratorAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "multiSigAdmin",
        "type": "address"
      }
    ],
    "name": "AdministratorRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "EmergencyWithdrawal",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      }
    ],
    "name": "NativeCurrencyClaimProcessed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "NativeCurrencyDepositInitiated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Paused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "TokenAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      }
    ],
    "name": "TokenClaimProcessed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "TokenDepositInitiated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "TokenRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Unpaused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "vault",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "tokenManager",
        "type": "address"
      }
    ],
    "name": "VaultAndTokenManagerUpdated",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_multiSigAdmin",
        "type": "address"
      }
    ],
    "name": "addAdministrator",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      }
    ],
    "name": "addSupportedToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "administrators",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "claimNativeCurrency",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "claimToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "depositNativeCurrency",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "_receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "_receivingChainId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "depositToken",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "deposits",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "receivingChainId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "fees",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "emergencyWithdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "getDepositInfo",
    "outputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "receivingChainId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "isClaimProcessed",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "name": "processedClaims",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_multiSigAdmin",
        "type": "address"
      }
    ],
    "name": "removeAdministrator",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      }
    ],
    "name": "removeSupportedToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_vault",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_tokenManager",
        "type": "address"
      }
    ],
    "name": "setVaultAndTokenManager",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "supportedTokens",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokenManager",
    "outputs": [
      {
        "internalType": "contract ITokenManager",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "unpause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "vault",
    "outputs": [
      {
        "internalType": "contract IVault",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]

Contract Creation Code

608060405234801561001057600080fd5b506040516146b73803806146b7833981810160405281019061003291906103a3565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a55760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161009c9190610405565b60405180910390fd5b6100b48161027c60201b60201c565b5060018081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361012b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101229061047d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361019a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610191906104e9565b60405180910390fd5b82600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050610509565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061037082610345565b9050919050565b61038081610365565b811461038b57600080fd5b50565b60008151905061039d81610377565b92915050565b6000806000606084860312156103bc576103bb610340565b5b60006103ca8682870161038e565b93505060206103db8682870161038e565b92505060406103ec8682870161038e565b9150509250925092565b6103ff81610365565b82525050565b600060208201905061041a60008301846103f6565b92915050565b600082825260208201905092915050565b7f496e76616c696420546f6b656e4d616e61676572206164647265737300000000600082015250565b6000610467601c83610420565b915061047282610431565b602082019050919050565b600060208201905081810360008301526104968161045a565b9050919050565b7f496e76616c6964205661756c7420616464726573730000000000000000000000600082015250565b60006104d3601583610420565b91506104de8261049d565b602082019050919050565b60006020820190508181036000830152610502816104c6565b9050919050565b61419f806105186000396000f3fe60806040526004361061014f5760003560e01c80638456cb59116100b6578063b49491261161006f578063b4949126146104f6578063bd69a2881461051f578063c999117614610548578063e63ea40814610571578063f2fde38b1461059a578063fbfa77cf146105c3576101d4565b80638456cb59146103ee5780638da5cb5b146104055780639621c94c14610430578063a22042f81461046d578063b02c43d014610496578063b2a5062b146104da576101d4565b806368fa81341161010857806368fa8134146102e25780636d69fcaf1461030b578063715018a614610334578063763191901461034b57806376be1585146103745780637d548c64146103b1576101d4565b80632a709b14146101d95780633f4ba83a146102045780634461b1af1461021b5780635328c2bf146102375780635c975abb1461027a57806368c4ac26146102a5576101d4565b366101d457600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101be57600080fd5b505af11580156101d2573d6000803e3d6000fd5b005b600080fd5b3480156101e557600080fd5b506101ee6105ee565b6040516101fb9190612afa565b60405180910390f35b34801561021057600080fd5b50610219610614565b005b61023560048036038101906102309190612ce3565b6106e7565b005b34801561024357600080fd5b5061025e60048036038101906102599190612d7a565b610c1a565b6040516102719796959493929190612e44565b60405180910390f35b34801561028657600080fd5b5061028f610d44565b60405161029c9190612ed5565b60405180910390f35b3480156102b157600080fd5b506102cc60048036038101906102c79190612ef0565b610d5b565b6040516102d99190612ed5565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190612ef0565b610d7b565b005b34801561031757600080fd5b50610332600480360381019061032d9190612ef0565b610f22565b005b34801561034057600080fd5b506103496110c4565b005b34801561035757600080fd5b50610372600480360381019061036d9190612ef0565b6110d8565b005b34801561038057600080fd5b5061039b60048036038101906103969190612ef0565b61120a565b6040516103a89190612ed5565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d39190612f53565b61122a565b6040516103e59190612ed5565b60405180910390f35b3480156103fa57600080fd5b5061040361124a565b005b34801561041157600080fd5b5061041a61131d565b6040516104279190612f80565b60405180910390f35b34801561043c57600080fd5b5061045760048036038101906104529190612f9b565b611346565b6040516104649190612ed5565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190612fee565b6113a1565b005b3480156104a257600080fd5b506104bd60048036038101906104b89190612d7a565b6117ab565b6040516104d1989796959493929190613041565b60405180910390f35b6104f460048036038101906104ef91906130c6565b6118bb565b005b34801561050257600080fd5b5061051d60048036038101906105189190613135565b611c01565b005b34801561052b57600080fd5b506105466004803603810190610541919061319c565b61204e565b005b34801561055457600080fd5b5061056f600480360381019061056a9190612ef0565b612214565b005b34801561057d57600080fd5b5061059860048036038101906105939190612f9b565b6123b6565b005b3480156105a657600080fd5b506105c160048036038101906105bc9190612ef0565b6126e6565b005b3480156105cf57600080fd5b506105d861276c565b6040516105e591906131fd565b60405180910390f35b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061069e575061066f61131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490613264565b60405180910390fd5b6106e5612792565b565b6106ef6127f5565b6106f761283b565b84600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077b906132d0565b60405180910390fd5b600084905060008151116107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c49061333c565b60405180910390fd5b6000600460008581526020019081526020016000206004015414610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d906133a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088c9061343a565b60405180910390fd5b600086116108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf906134a6565b60405180910390fd5b6040518061010001604052808481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200142815260200185815260200186815260200134815250600460008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015560a0820151816005015560c0820151816006019081610a1c91906136c8565b5060e082015181600701559050508673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff1660e01b8152600401610a679392919061379a565b6020604051808303816000875af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906137fd565b508673ffffffffffffffffffffffffffffffffffffffff166342966c68876040518263ffffffff1660e01b8152600401610ae4919061382a565b600060405180830381600087803b158015610afe57600080fd5b505af1158015610b12573d6000803e3d6000fd5b505050506000341115610ba357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b8957600080fd5b505af1158015610b9d573d6000803e3d6000fd5b50505050505b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16847f21f244739fa806b87971dd4bae3cc4e416810785bb2fa624029c624c6319ff8589604051610c01919061382a565b60405180910390a45050610c1361287c565b5050505050565b60008060008060606000806000600460008a815260200190815260200160002090508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826003015483600401548460060185600501548660000154828054610caa906134f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd6906134f5565b8015610d235780601f10610cf857610100808354040283529160200191610d23565b820191906000526020600020905b815481529060010190602001808311610d0657829003601f168201915b50505050509250975097509750975097509750975050919395979092949650565b6000600260009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b610d83612885565b610d8b61131d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def906138b7565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7b90613923565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd5c9a61a4ab4b84f78da506149b7b0d376843283a81eee2dbdc9a55f988ab64360405160405180910390a250565b610f2a612885565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f909061398f565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906139fb565b60405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f784c8f4dbf0ffedd6e72c76501c545a70f8b203b30a26ce542bf92ba87c248a460405160405180910390a250565b6110cc612885565b6110d6600061290c565b565b6110e0612885565b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661116c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611163906132d0565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd360405160405180910390a250565b60066020528060005260406000206000915054906101000a900460ff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112d457506112a561131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a90613264565b60405180910390fd5b61131b6129d0565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008084848460405160200161135e93929190613a84565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff169150509392505050565b6113a96127f5565b6113b161283b565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061143b575061140c61131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190613264565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090613b0d565b60405180910390fd5b6000821161152c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611523906134a6565b60405180910390fd5b600083600084846040516020016115469493929190613b2d565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff16156115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b690613bc7565b60405180910390fd5b82600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561162d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116519190613bfc565b1015611692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168990613c75565b60405180910390fd5b60016005600083815260200190815260200160002060006101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a385856040518363ffffffff1660e01b815260040161171b929190613c95565b600060405180830381600087803b15801561173557600080fd5b505af1158015611749573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff167f75920a0c4df95739def1e0ab98b8afa9294035ed96c49501a055a2d3615497298484604051611795929190613cbe565b60405180910390a2506117a661287c565b505050565b60046020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003015490806004015490806005015490806006018054611832906134f5565b80601f016020809104026020016040519081016040528092919081815260200182805461185e906134f5565b80156118ab5780601f10611880576101008083540402835291602001916118ab565b820191906000526020600020905b81548152906001019060200180831161188e57829003601f168201915b5050505050908060070154905088565b6118c36127f5565b6118cb61283b565b60008390506000815111611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b9061333c565b60405180910390fd5b600060046000858152602001908152602001600020600401541461196d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611964906133a8565b60405180910390fd5b81341015801561197d5750600082115b6119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b3906134a6565b60405180910390fd5b600082346119ca9190613d16565b90506040518061010001604052808581526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020018481526020014281526020016000815260200186815260200182815250600460008681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015560a0820151816005015560c0820151816006019081611b1291906136c8565b5060e08201518160070155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b8a57600080fd5b505af1158015611b9e573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff16847fd39cc5f65026b32a8bb0ac7eccc37a6c3d54d2d366b1bc1c09dfc2b58be6e66d85604051611bea919061382a565b60405180910390a35050611bfc61287c565b505050565b611c096127f5565b611c1161283b565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c9b5750611c6c61131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd190613264565b60405180910390fd5b82600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5e906132d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd90613b0d565b60405180910390fd5b60008311611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e10906134a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90613d96565b60405180910390fd5b600085858585604051602001611ea19493929190613b2d565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff1615611f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1190613bc7565b60405180910390fd5b60016005600083815260200190815260200160002060006101000a81548160ff021916908315150217905550600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636bec32da8688876040518463ffffffff1660e01b8152600401611fa59392919061379a565b600060405180830381600087803b158015611fbf57600080fd5b505af1158015611fd3573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fae3acd500fad5d55faa51242f79d21d1230aa2740b8f27858c990cd1a20267ee8686604051612036929190613cbe565b60405180910390a3505061204861287c565b50505050565b612056612885565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bc90613e02565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212b90613e6e565b60405180910390fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f860834343c58084e5223116d92f23d696ac40c61eb095b00ac6d7f15761abd5960405160405180910390a35050565b61221c612885565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361228b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228290613eda565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230f90613f46565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fe78a1675a4b4d68d04fc70b93f9c37c5288e084d9b02d718103f7ad5e292b68860405160405180910390a250565b6123be612885565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361242d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242490613fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125135760008273ffffffffffffffffffffffffffffffffffffffff168260405161248790614003565b60006040518083038185875af1925050503d80600081146124c4576040519150601f19603f3d011682016040523d82523d6000602084013e6124c9565b606091505b505090508061250d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125049061408a565b60405180910390fd5b5061267c565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051602401612540929190613c95565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516125ca91906140e6565b6000604051808303816000865af19150503d8060008114612607576040519150601f19603f3d011682016040523d82523d6000602084013e61260c565b606091505b509150915081801561263a575060008151148061263957508080602001905181019061263891906137fd565b5b5b612679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267090614149565b60405180910390fd5b50505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b3836040516126d9919061382a565b60405180910390a3505050565b6126ee612885565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036127605760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016127579190612f80565b60405180910390fd5b6127698161290c565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61279a612a33565b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6127de612a73565b6040516127eb9190612f80565b60405180910390a1565b600260015403612831576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b612843610d44565b1561287a576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60018081905550565b61288d612a73565b73ffffffffffffffffffffffffffffffffffffffff166128ab61131d565b73ffffffffffffffffffffffffffffffffffffffff161461290a576128ce612a73565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016129019190612f80565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6129d861283b565b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a1c612a73565b604051612a299190612f80565b60405180910390a1565b612a3b610d44565b612a71576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000612ac0612abb612ab684612a7b565b612a9b565b612a7b565b9050919050565b6000612ad282612aa5565b9050919050565b6000612ae482612ac7565b9050919050565b612af481612ad9565b82525050565b6000602082019050612b0f6000830184612aeb565b92915050565b6000604051905090565b600080fd5b600080fd5b6000612b3482612a7b565b9050919050565b612b4481612b29565b8114612b4f57600080fd5b50565b600081359050612b6181612b3b565b92915050565b6000819050919050565b612b7a81612b67565b8114612b8557600080fd5b50565b600081359050612b9781612b71565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bf082612ba7565b810181811067ffffffffffffffff82111715612c0f57612c0e612bb8565b5b80604052505050565b6000612c22612b15565b9050612c2e8282612be7565b919050565b600067ffffffffffffffff821115612c4e57612c4d612bb8565b5b612c5782612ba7565b9050602081019050919050565b82818337600083830152505050565b6000612c86612c8184612c33565b612c18565b905082815260208101848484011115612ca257612ca1612ba2565b5b612cad848285612c64565b509392505050565b600082601f830112612cca57612cc9612b9d565b5b8135612cda848260208601612c73565b91505092915050565b600080600080600060a08688031215612cff57612cfe612b1f565b5b6000612d0d88828901612b52565b9550506020612d1e88828901612b88565b945050604086013567ffffffffffffffff811115612d3f57612d3e612b24565b5b612d4b88828901612cb5565b9350506060612d5c88828901612b88565b9250506080612d6d88828901612b88565b9150509295509295909350565b600060208284031215612d9057612d8f612b1f565b5b6000612d9e84828501612b88565b91505092915050565b612db081612b29565b82525050565b612dbf81612b67565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612dff578082015181840152602081019050612de4565b60008484015250505050565b6000612e1682612dc5565b612e208185612dd0565b9350612e30818560208601612de1565b612e3981612ba7565b840191505092915050565b600060e082019050612e59600083018a612da7565b612e666020830189612da7565b612e736040830188612db6565b612e806060830187612db6565b8181036080830152612e928186612e0b565b9050612ea160a0830185612db6565b612eae60c0830184612db6565b98975050505050505050565b60008115159050919050565b612ecf81612eba565b82525050565b6000602082019050612eea6000830184612ec6565b92915050565b600060208284031215612f0657612f05612b1f565b5b6000612f1484828501612b52565b91505092915050565b6000819050919050565b612f3081612f1d565b8114612f3b57600080fd5b50565b600081359050612f4d81612f27565b92915050565b600060208284031215612f6957612f68612b1f565b5b6000612f7784828501612f3e565b91505092915050565b6000602082019050612f956000830184612da7565b92915050565b600080600060608486031215612fb457612fb3612b1f565b5b6000612fc286828701612b52565b9350506020612fd386828701612b52565b9250506040612fe486828701612b88565b9150509250925092565b60008060006060848603121561300757613006612b1f565b5b600061301586828701612b52565b935050602061302686828701612b88565b925050604061303786828701612b88565b9150509250925092565b600061010082019050613057600083018b612db6565b613064602083018a612da7565b6130716040830189612da7565b61307e6060830188612db6565b61308b6080830187612db6565b61309860a0830186612db6565b81810360c08301526130aa8185612e0b565b90506130b960e0830184612db6565b9998505050505050505050565b6000806000606084860312156130df576130de612b1f565b5b600084013567ffffffffffffffff8111156130fd576130fc612b24565b5b61310986828701612cb5565b935050602061311a86828701612b88565b925050604061312b86828701612b88565b9150509250925092565b6000806000806080858703121561314f5761314e612b1f565b5b600061315d87828801612b52565b945050602061316e87828801612b52565b935050604061317f87828801612b88565b925050606061319087828801612b88565b91505092959194509250565b600080604083850312156131b3576131b2612b1f565b5b60006131c185828601612b52565b92505060206131d285828601612b52565b9150509250929050565b60006131e782612ac7565b9050919050565b6131f7816131dc565b82525050565b600060208201905061321260008301846131ee565b92915050565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b600061324e600e83612dd0565b915061325982613218565b602082019050919050565b6000602082019050818103600083015261327d81613241565b9050919050565b7f546f6b656e206e6f7420737570706f7274656400000000000000000000000000600082015250565b60006132ba601383612dd0565b91506132c582613284565b602082019050919050565b600060208201905081810360008301526132e9816132ad565b9050919050565b7f726563656976696e67416464726573732063616e6e6f7420626520656d707479600082015250565b6000613326602083612dd0565b9150613331826132f0565b602082019050919050565b6000602082019050818103600083015261335581613319565b9050919050565b7f6465706f736974496420616c7265616479207573656400000000000000000000600082015250565b6000613392601683612dd0565b915061339d8261335c565b602082019050919050565b600060208201905081810360008301526133c181613385565b9050919050565b7f557365206465706f7369744e617469766543757272656e637920666f7220455460008201527f4800000000000000000000000000000000000000000000000000000000000000602082015250565b6000613424602183612dd0565b915061342f826133c8565b604082019050919050565b6000602082019050818103600083015261345381613417565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000613490601d83612dd0565b915061349b8261345a565b602082019050919050565b600060208201905081810360008301526134bf81613483565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061350d57607f821691505b6020821081036135205761351f6134c6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026135887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261354b565b613592868361354b565b95508019841693508086168417925050509392505050565b60006135c56135c06135bb84612b67565b612a9b565b612b67565b9050919050565b6000819050919050565b6135df836135aa565b6135f36135eb826135cc565b848454613558565b825550505050565b600090565b6136086135fb565b6136138184846135d6565b505050565b5b818110156136375761362c600082613600565b600181019050613619565b5050565b601f82111561367c5761364d81613526565b6136568461353b565b81016020851015613665578190505b6136796136718561353b565b830182613618565b50505b505050565b600082821c905092915050565b600061369f60001984600802613681565b1980831691505092915050565b60006136b8838361368e565b9150826002028217905092915050565b6136d182612dc5565b67ffffffffffffffff8111156136ea576136e9612bb8565b5b6136f482546134f5565b6136ff82828561363b565b600060209050601f8311600181146137325760008415613720578287015190505b61372a85826136ac565b865550613792565b601f19841661374086613526565b60005b8281101561376857848901518255600182019150602085019450602081019050613743565b868310156137855784890151613781601f89168261368e565b8355505b6001600288020188555050505b505050505050565b60006060820190506137af6000830186612da7565b6137bc6020830185612da7565b6137c96040830184612db6565b949350505050565b6137da81612eba565b81146137e557600080fd5b50565b6000815190506137f7816137d1565b92915050565b60006020828403121561381357613812612b1f565b5b6000613821848285016137e8565b91505092915050565b600060208201905061383f6000830184612db6565b92915050565b7f43616e6e6f742072656d6f7665206f776e65722066726f6d2061646d696e697360008201527f747261746f727300000000000000000000000000000000000000000000000000602082015250565b60006138a1602783612dd0565b91506138ac82613845565b604082019050919050565b600060208201905081810360008301526138d081613894565b9050919050565b7f4e6f7420616e2061646d696e6973747261746f72000000000000000000000000600082015250565b600061390d601483612dd0565b9150613918826138d7565b602082019050919050565b6000602082019050818103600083015261393c81613900565b9050919050565b7f496e76616c696420746f6b656e20616464726573730000000000000000000000600082015250565b6000613979601583612dd0565b915061398482613943565b602082019050919050565b600060208201905081810360008301526139a88161396c565b9050919050565b7f546f6b656e20616c726561647920737570706f72746564000000000000000000600082015250565b60006139e5601783612dd0565b91506139f0826139af565b602082019050919050565b60006020820190508181036000830152613a14816139d8565b9050919050565b60008160601b9050919050565b6000613a3382613a1b565b9050919050565b6000613a4582613a28565b9050919050565b613a5d613a5882612b29565b613a3a565b82525050565b6000819050919050565b613a7e613a7982612b67565b613a63565b82525050565b6000613a908286613a4c565b601482019150613aa08285613a4c565b601482019150613ab08284613a6d565b602082019150819050949350505050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000613af7601983612dd0565b9150613b0282613ac1565b602082019050919050565b60006020820190508181036000830152613b2681613aea565b9050919050565b6000613b398287613a4c565b601482019150613b498286613a4c565b601482019150613b598285613a6d565b602082019150613b698284613a6d565b60208201915081905095945050505050565b7f436c61696d20616c72656164792070726f636573736564000000000000000000600082015250565b6000613bb1601783612dd0565b9150613bbc82613b7b565b602082019050919050565b60006020820190508181036000830152613be081613ba4565b9050919050565b600081519050613bf681612b71565b92915050565b600060208284031215613c1257613c11612b1f565b5b6000613c2084828501613be7565b91505092915050565b7f496e73756666696369656e74207661756c742062616c616e6365000000000000600082015250565b6000613c5f601a83612dd0565b9150613c6a82613c29565b602082019050919050565b60006020820190508181036000830152613c8e81613c52565b9050919050565b6000604082019050613caa6000830185612da7565b613cb76020830184612db6565b9392505050565b6000604082019050613cd36000830185612db6565b613ce06020830184612db6565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d2182612b67565b9150613d2c83612b67565b9250828203905081811115613d4457613d43613ce7565b5b92915050565b7f55736520636c61696d4e617469766543757272656e637920666f722045544800600082015250565b6000613d80601f83612dd0565b9150613d8b82613d4a565b602082019050919050565b60006020820190508181036000830152613daf81613d73565b9050919050565b7f496e76616c6964205661756c7420616464726573730000000000000000000000600082015250565b6000613dec601583612dd0565b9150613df782613db6565b602082019050919050565b60006020820190508181036000830152613e1b81613ddf565b9050919050565b7f496e76616c696420546f6b656e4d616e61676572206164647265737300000000600082015250565b6000613e58601c83612dd0565b9150613e6382613e22565b602082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f496e76616c69642061646d696e20616464726573730000000000000000000000600082015250565b6000613ec4601583612dd0565b9150613ecf82613e8e565b602082019050919050565b60006020820190508181036000830152613ef381613eb7565b9050919050565b7f416c726561647920616e2061646d696e6973747261746f720000000000000000600082015250565b6000613f30601883612dd0565b9150613f3b82613efa565b602082019050919050565b60006020820190508181036000830152613f5f81613f23565b9050919050565b7f496e76616c696420726563697069656e74000000000000000000000000000000600082015250565b6000613f9c601183612dd0565b9150613fa782613f66565b602082019050919050565b60006020820190508181036000830152613fcb81613f8f565b9050919050565b600081905092915050565b50565b6000613fed600083613fd2565b9150613ff882613fdd565b600082019050919050565b600061400e82613fe0565b9150819050919050565b7f4e61746976652063757272656e6379207769746864726177616c206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000614074602183612dd0565b915061407f82614018565b604082019050919050565b600060208201905081810360008301526140a381614067565b9050919050565b600081519050919050565b60006140c0826140aa565b6140ca8185613fd2565b93506140da818560208601612de1565b80840191505092915050565b60006140f282846140b5565b915081905092915050565b7f546f6b656e207769746864726177616c206661696c6564000000000000000000600082015250565b6000614133601783612dd0565b915061413e826140fd565b602082019050919050565b6000602082019050818103600083015261416281614126565b905091905056fea2646970667358221220573ede13b0e91395b05d7f3c60cb4eaa2c62f8d4f87fece0bcc5cb6b796fd53764736f6c634300081c0033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638456cb59116100b6578063b49491261161006f578063b4949126146104f6578063bd69a2881461051f578063c999117614610548578063e63ea40814610571578063f2fde38b1461059a578063fbfa77cf146105c3576101d4565b80638456cb59146103ee5780638da5cb5b146104055780639621c94c14610430578063a22042f81461046d578063b02c43d014610496578063b2a5062b146104da576101d4565b806368fa81341161010857806368fa8134146102e25780636d69fcaf1461030b578063715018a614610334578063763191901461034b57806376be1585146103745780637d548c64146103b1576101d4565b80632a709b14146101d95780633f4ba83a146102045780634461b1af1461021b5780635328c2bf146102375780635c975abb1461027a57806368c4ac26146102a5576101d4565b366101d457600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101be57600080fd5b505af11580156101d2573d6000803e3d6000fd5b005b600080fd5b3480156101e557600080fd5b506101ee6105ee565b6040516101fb9190612afa565b60405180910390f35b34801561021057600080fd5b50610219610614565b005b61023560048036038101906102309190612ce3565b6106e7565b005b34801561024357600080fd5b5061025e60048036038101906102599190612d7a565b610c1a565b6040516102719796959493929190612e44565b60405180910390f35b34801561028657600080fd5b5061028f610d44565b60405161029c9190612ed5565b60405180910390f35b3480156102b157600080fd5b506102cc60048036038101906102c79190612ef0565b610d5b565b6040516102d99190612ed5565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190612ef0565b610d7b565b005b34801561031757600080fd5b50610332600480360381019061032d9190612ef0565b610f22565b005b34801561034057600080fd5b506103496110c4565b005b34801561035757600080fd5b50610372600480360381019061036d9190612ef0565b6110d8565b005b34801561038057600080fd5b5061039b60048036038101906103969190612ef0565b61120a565b6040516103a89190612ed5565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d39190612f53565b61122a565b6040516103e59190612ed5565b60405180910390f35b3480156103fa57600080fd5b5061040361124a565b005b34801561041157600080fd5b5061041a61131d565b6040516104279190612f80565b60405180910390f35b34801561043c57600080fd5b5061045760048036038101906104529190612f9b565b611346565b6040516104649190612ed5565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190612fee565b6113a1565b005b3480156104a257600080fd5b506104bd60048036038101906104b89190612d7a565b6117ab565b6040516104d1989796959493929190613041565b60405180910390f35b6104f460048036038101906104ef91906130c6565b6118bb565b005b34801561050257600080fd5b5061051d60048036038101906105189190613135565b611c01565b005b34801561052b57600080fd5b506105466004803603810190610541919061319c565b61204e565b005b34801561055457600080fd5b5061056f600480360381019061056a9190612ef0565b612214565b005b34801561057d57600080fd5b5061059860048036038101906105939190612f9b565b6123b6565b005b3480156105a657600080fd5b506105c160048036038101906105bc9190612ef0565b6126e6565b005b3480156105cf57600080fd5b506105d861276c565b6040516105e591906131fd565b60405180910390f35b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061069e575061066f61131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490613264565b60405180910390fd5b6106e5612792565b565b6106ef6127f5565b6106f761283b565b84600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077b906132d0565b60405180910390fd5b600084905060008151116107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c49061333c565b60405180910390fd5b6000600460008581526020019081526020016000206004015414610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d906133a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088c9061343a565b60405180910390fd5b600086116108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf906134a6565b60405180910390fd5b6040518061010001604052808481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200142815260200185815260200186815260200134815250600460008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015560a0820151816005015560c0820151816006019081610a1c91906136c8565b5060e082015181600701559050508673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff1660e01b8152600401610a679392919061379a565b6020604051808303816000875af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906137fd565b508673ffffffffffffffffffffffffffffffffffffffff166342966c68876040518263ffffffff1660e01b8152600401610ae4919061382a565b600060405180830381600087803b158015610afe57600080fd5b505af1158015610b12573d6000803e3d6000fd5b505050506000341115610ba357600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b8957600080fd5b505af1158015610b9d573d6000803e3d6000fd5b50505050505b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16847f21f244739fa806b87971dd4bae3cc4e416810785bb2fa624029c624c6319ff8589604051610c01919061382a565b60405180910390a45050610c1361287c565b5050505050565b60008060008060606000806000600460008a815260200190815260200160002090508060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826003015483600401548460060185600501548660000154828054610caa906134f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd6906134f5565b8015610d235780601f10610cf857610100808354040283529160200191610d23565b820191906000526020600020905b815481529060010190602001808311610d0657829003601f168201915b50505050509250975097509750975097509750975050919395979092949650565b6000600260009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b610d83612885565b610d8b61131d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def906138b7565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7b90613923565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd5c9a61a4ab4b84f78da506149b7b0d376843283a81eee2dbdc9a55f988ab64360405160405180910390a250565b610f2a612885565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f909061398f565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d906139fb565b60405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f784c8f4dbf0ffedd6e72c76501c545a70f8b203b30a26ce542bf92ba87c248a460405160405180910390a250565b6110cc612885565b6110d6600061290c565b565b6110e0612885565b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661116c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611163906132d0565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd360405160405180910390a250565b60066020528060005260406000206000915054906101000a900460ff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112d457506112a561131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a90613264565b60405180910390fd5b61131b6129d0565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008084848460405160200161135e93929190613a84565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff169150509392505050565b6113a96127f5565b6113b161283b565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061143b575061140c61131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61147a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147190613264565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090613b0d565b60405180910390fd5b6000821161152c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611523906134a6565b60405180910390fd5b600083600084846040516020016115469493929190613b2d565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff16156115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b690613bc7565b60405180910390fd5b82600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561162d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116519190613bfc565b1015611692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168990613c75565b60405180910390fd5b60016005600083815260200190815260200160002060006101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3fef3a385856040518363ffffffff1660e01b815260040161171b929190613c95565b600060405180830381600087803b15801561173557600080fd5b505af1158015611749573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff167f75920a0c4df95739def1e0ab98b8afa9294035ed96c49501a055a2d3615497298484604051611795929190613cbe565b60405180910390a2506117a661287c565b505050565b60046020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003015490806004015490806005015490806006018054611832906134f5565b80601f016020809104026020016040519081016040528092919081815260200182805461185e906134f5565b80156118ab5780601f10611880576101008083540402835291602001916118ab565b820191906000526020600020905b81548152906001019060200180831161188e57829003601f168201915b5050505050908060070154905088565b6118c36127f5565b6118cb61283b565b60008390506000815111611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b9061333c565b60405180910390fd5b600060046000858152602001908152602001600020600401541461196d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611964906133a8565b60405180910390fd5b81341015801561197d5750600082115b6119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b3906134a6565b60405180910390fd5b600082346119ca9190613d16565b90506040518061010001604052808581526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020018481526020014281526020016000815260200186815260200182815250600460008681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015560a0820151816005015560c0820151816006019081611b1291906136c8565b5060e08201518160070155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b8a57600080fd5b505af1158015611b9e573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff16847fd39cc5f65026b32a8bb0ac7eccc37a6c3d54d2d366b1bc1c09dfc2b58be6e66d85604051611bea919061382a565b60405180910390a35050611bfc61287c565b505050565b611c096127f5565b611c1161283b565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c9b5750611c6c61131d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd190613264565b60405180910390fd5b82600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5e906132d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd90613b0d565b60405180910390fd5b60008311611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e10906134a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90613d96565b60405180910390fd5b600085858585604051602001611ea19493929190613b2d565b6040516020818303038152906040528051906020012090506005600082815260200190815260200160002060009054906101000a900460ff1615611f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1190613bc7565b60405180910390fd5b60016005600083815260200190815260200160002060006101000a81548160ff021916908315150217905550600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636bec32da8688876040518463ffffffff1660e01b8152600401611fa59392919061379a565b600060405180830381600087803b158015611fbf57600080fd5b505af1158015611fd3573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fae3acd500fad5d55faa51242f79d21d1230aa2740b8f27858c990cd1a20267ee8686604051612036929190613cbe565b60405180910390a3505061204861287c565b50505050565b612056612885565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bc90613e02565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212b90613e6e565b60405180910390fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f860834343c58084e5223116d92f23d696ac40c61eb095b00ac6d7f15761abd5960405160405180910390a35050565b61221c612885565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361228b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228290613eda565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612318576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230f90613f46565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fe78a1675a4b4d68d04fc70b93f9c37c5288e084d9b02d718103f7ad5e292b68860405160405180910390a250565b6123be612885565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361242d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242490613fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036125135760008273ffffffffffffffffffffffffffffffffffffffff168260405161248790614003565b60006040518083038185875af1925050503d80600081146124c4576040519150601f19603f3d011682016040523d82523d6000602084013e6124c9565b606091505b505090508061250d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125049061408a565b60405180910390fd5b5061267c565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051602401612540929190613c95565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516125ca91906140e6565b6000604051808303816000865af19150503d8060008114612607576040519150601f19603f3d011682016040523d82523d6000602084013e61260c565b606091505b509150915081801561263a575060008151148061263957508080602001905181019061263891906137fd565b5b5b612679576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267090614149565b60405180910390fd5b50505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b3836040516126d9919061382a565b60405180910390a3505050565b6126ee612885565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036127605760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016127579190612f80565b60405180910390fd5b6127698161290c565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61279a612a33565b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6127de612a73565b6040516127eb9190612f80565b60405180910390a1565b600260015403612831576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b612843610d44565b1561287a576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60018081905550565b61288d612a73565b73ffffffffffffffffffffffffffffffffffffffff166128ab61131d565b73ffffffffffffffffffffffffffffffffffffffff161461290a576128ce612a73565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016129019190612f80565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6129d861283b565b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a1c612a73565b604051612a299190612f80565b60405180910390a1565b612a3b610d44565b612a71576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000612ac0612abb612ab684612a7b565b612a9b565b612a7b565b9050919050565b6000612ad282612aa5565b9050919050565b6000612ae482612ac7565b9050919050565b612af481612ad9565b82525050565b6000602082019050612b0f6000830184612aeb565b92915050565b6000604051905090565b600080fd5b600080fd5b6000612b3482612a7b565b9050919050565b612b4481612b29565b8114612b4f57600080fd5b50565b600081359050612b6181612b3b565b92915050565b6000819050919050565b612b7a81612b67565b8114612b8557600080fd5b50565b600081359050612b9781612b71565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bf082612ba7565b810181811067ffffffffffffffff82111715612c0f57612c0e612bb8565b5b80604052505050565b6000612c22612b15565b9050612c2e8282612be7565b919050565b600067ffffffffffffffff821115612c4e57612c4d612bb8565b5b612c5782612ba7565b9050602081019050919050565b82818337600083830152505050565b6000612c86612c8184612c33565b612c18565b905082815260208101848484011115612ca257612ca1612ba2565b5b612cad848285612c64565b509392505050565b600082601f830112612cca57612cc9612b9d565b5b8135612cda848260208601612c73565b91505092915050565b600080600080600060a08688031215612cff57612cfe612b1f565b5b6000612d0d88828901612b52565b9550506020612d1e88828901612b88565b945050604086013567ffffffffffffffff811115612d3f57612d3e612b24565b5b612d4b88828901612cb5565b9350506060612d5c88828901612b88565b9250506080612d6d88828901612b88565b9150509295509295909350565b600060208284031215612d9057612d8f612b1f565b5b6000612d9e84828501612b88565b91505092915050565b612db081612b29565b82525050565b612dbf81612b67565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612dff578082015181840152602081019050612de4565b60008484015250505050565b6000612e1682612dc5565b612e208185612dd0565b9350612e30818560208601612de1565b612e3981612ba7565b840191505092915050565b600060e082019050612e59600083018a612da7565b612e666020830189612da7565b612e736040830188612db6565b612e806060830187612db6565b8181036080830152612e928186612e0b565b9050612ea160a0830185612db6565b612eae60c0830184612db6565b98975050505050505050565b60008115159050919050565b612ecf81612eba565b82525050565b6000602082019050612eea6000830184612ec6565b92915050565b600060208284031215612f0657612f05612b1f565b5b6000612f1484828501612b52565b91505092915050565b6000819050919050565b612f3081612f1d565b8114612f3b57600080fd5b50565b600081359050612f4d81612f27565b92915050565b600060208284031215612f6957612f68612b1f565b5b6000612f7784828501612f3e565b91505092915050565b6000602082019050612f956000830184612da7565b92915050565b600080600060608486031215612fb457612fb3612b1f565b5b6000612fc286828701612b52565b9350506020612fd386828701612b52565b9250506040612fe486828701612b88565b9150509250925092565b60008060006060848603121561300757613006612b1f565b5b600061301586828701612b52565b935050602061302686828701612b88565b925050604061303786828701612b88565b9150509250925092565b600061010082019050613057600083018b612db6565b613064602083018a612da7565b6130716040830189612da7565b61307e6060830188612db6565b61308b6080830187612db6565b61309860a0830186612db6565b81810360c08301526130aa8185612e0b565b90506130b960e0830184612db6565b9998505050505050505050565b6000806000606084860312156130df576130de612b1f565b5b600084013567ffffffffffffffff8111156130fd576130fc612b24565b5b61310986828701612cb5565b935050602061311a86828701612b88565b925050604061312b86828701612b88565b9150509250925092565b6000806000806080858703121561314f5761314e612b1f565b5b600061315d87828801612b52565b945050602061316e87828801612b52565b935050604061317f87828801612b88565b925050606061319087828801612b88565b91505092959194509250565b600080604083850312156131b3576131b2612b1f565b5b60006131c185828601612b52565b92505060206131d285828601612b52565b9150509250929050565b60006131e782612ac7565b9050919050565b6131f7816131dc565b82525050565b600060208201905061321260008301846131ee565b92915050565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b600061324e600e83612dd0565b915061325982613218565b602082019050919050565b6000602082019050818103600083015261327d81613241565b9050919050565b7f546f6b656e206e6f7420737570706f7274656400000000000000000000000000600082015250565b60006132ba601383612dd0565b91506132c582613284565b602082019050919050565b600060208201905081810360008301526132e9816132ad565b9050919050565b7f726563656976696e67416464726573732063616e6e6f7420626520656d707479600082015250565b6000613326602083612dd0565b9150613331826132f0565b602082019050919050565b6000602082019050818103600083015261335581613319565b9050919050565b7f6465706f736974496420616c7265616479207573656400000000000000000000600082015250565b6000613392601683612dd0565b915061339d8261335c565b602082019050919050565b600060208201905081810360008301526133c181613385565b9050919050565b7f557365206465706f7369744e617469766543757272656e637920666f7220455460008201527f4800000000000000000000000000000000000000000000000000000000000000602082015250565b6000613424602183612dd0565b915061342f826133c8565b604082019050919050565b6000602082019050818103600083015261345381613417565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000613490601d83612dd0565b915061349b8261345a565b602082019050919050565b600060208201905081810360008301526134bf81613483565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061350d57607f821691505b6020821081036135205761351f6134c6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026135887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261354b565b613592868361354b565b95508019841693508086168417925050509392505050565b60006135c56135c06135bb84612b67565b612a9b565b612b67565b9050919050565b6000819050919050565b6135df836135aa565b6135f36135eb826135cc565b848454613558565b825550505050565b600090565b6136086135fb565b6136138184846135d6565b505050565b5b818110156136375761362c600082613600565b600181019050613619565b5050565b601f82111561367c5761364d81613526565b6136568461353b565b81016020851015613665578190505b6136796136718561353b565b830182613618565b50505b505050565b600082821c905092915050565b600061369f60001984600802613681565b1980831691505092915050565b60006136b8838361368e565b9150826002028217905092915050565b6136d182612dc5565b67ffffffffffffffff8111156136ea576136e9612bb8565b5b6136f482546134f5565b6136ff82828561363b565b600060209050601f8311600181146137325760008415613720578287015190505b61372a85826136ac565b865550613792565b601f19841661374086613526565b60005b8281101561376857848901518255600182019150602085019450602081019050613743565b868310156137855784890151613781601f89168261368e565b8355505b6001600288020188555050505b505050505050565b60006060820190506137af6000830186612da7565b6137bc6020830185612da7565b6137c96040830184612db6565b949350505050565b6137da81612eba565b81146137e557600080fd5b50565b6000815190506137f7816137d1565b92915050565b60006020828403121561381357613812612b1f565b5b6000613821848285016137e8565b91505092915050565b600060208201905061383f6000830184612db6565b92915050565b7f43616e6e6f742072656d6f7665206f776e65722066726f6d2061646d696e697360008201527f747261746f727300000000000000000000000000000000000000000000000000602082015250565b60006138a1602783612dd0565b91506138ac82613845565b604082019050919050565b600060208201905081810360008301526138d081613894565b9050919050565b7f4e6f7420616e2061646d696e6973747261746f72000000000000000000000000600082015250565b600061390d601483612dd0565b9150613918826138d7565b602082019050919050565b6000602082019050818103600083015261393c81613900565b9050919050565b7f496e76616c696420746f6b656e20616464726573730000000000000000000000600082015250565b6000613979601583612dd0565b915061398482613943565b602082019050919050565b600060208201905081810360008301526139a88161396c565b9050919050565b7f546f6b656e20616c726561647920737570706f72746564000000000000000000600082015250565b60006139e5601783612dd0565b91506139f0826139af565b602082019050919050565b60006020820190508181036000830152613a14816139d8565b9050919050565b60008160601b9050919050565b6000613a3382613a1b565b9050919050565b6000613a4582613a28565b9050919050565b613a5d613a5882612b29565b613a3a565b82525050565b6000819050919050565b613a7e613a7982612b67565b613a63565b82525050565b6000613a908286613a4c565b601482019150613aa08285613a4c565b601482019150613ab08284613a6d565b602082019150819050949350505050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000613af7601983612dd0565b9150613b0282613ac1565b602082019050919050565b60006020820190508181036000830152613b2681613aea565b9050919050565b6000613b398287613a4c565b601482019150613b498286613a4c565b601482019150613b598285613a6d565b602082019150613b698284613a6d565b60208201915081905095945050505050565b7f436c61696d20616c72656164792070726f636573736564000000000000000000600082015250565b6000613bb1601783612dd0565b9150613bbc82613b7b565b602082019050919050565b60006020820190508181036000830152613be081613ba4565b9050919050565b600081519050613bf681612b71565b92915050565b600060208284031215613c1257613c11612b1f565b5b6000613c2084828501613be7565b91505092915050565b7f496e73756666696369656e74207661756c742062616c616e6365000000000000600082015250565b6000613c5f601a83612dd0565b9150613c6a82613c29565b602082019050919050565b60006020820190508181036000830152613c8e81613c52565b9050919050565b6000604082019050613caa6000830185612da7565b613cb76020830184612db6565b9392505050565b6000604082019050613cd36000830185612db6565b613ce06020830184612db6565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d2182612b67565b9150613d2c83612b67565b9250828203905081811115613d4457613d43613ce7565b5b92915050565b7f55736520636c61696d4e617469766543757272656e637920666f722045544800600082015250565b6000613d80601f83612dd0565b9150613d8b82613d4a565b602082019050919050565b60006020820190508181036000830152613daf81613d73565b9050919050565b7f496e76616c6964205661756c7420616464726573730000000000000000000000600082015250565b6000613dec601583612dd0565b9150613df782613db6565b602082019050919050565b60006020820190508181036000830152613e1b81613ddf565b9050919050565b7f496e76616c696420546f6b656e4d616e61676572206164647265737300000000600082015250565b6000613e58601c83612dd0565b9150613e6382613e22565b602082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f496e76616c69642061646d696e20616464726573730000000000000000000000600082015250565b6000613ec4601583612dd0565b9150613ecf82613e8e565b602082019050919050565b60006020820190508181036000830152613ef381613eb7565b9050919050565b7f416c726561647920616e2061646d696e6973747261746f720000000000000000600082015250565b6000613f30601883612dd0565b9150613f3b82613efa565b602082019050919050565b60006020820190508181036000830152613f5f81613f23565b9050919050565b7f496e76616c696420726563697069656e74000000000000000000000000000000600082015250565b6000613f9c601183612dd0565b9150613fa782613f66565b602082019050919050565b60006020820190508181036000830152613fcb81613f8f565b9050919050565b600081905092915050565b50565b6000613fed600083613fd2565b9150613ff882613fdd565b600082019050919050565b600061400e82613fe0565b9150819050919050565b7f4e61746976652063757272656e6379207769746864726177616c206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000614074602183612dd0565b915061407f82614018565b604082019050919050565b600060208201905081810360008301526140a381614067565b9050919050565b600081519050919050565b60006140c0826140aa565b6140ca8185613fd2565b93506140da818560208601612de1565b80840191505092915050565b60006140f282846140b5565b915081905092915050565b7f546f6b656e207769746864726177616c206661696c6564000000000000000000600082015250565b6000614133601783612dd0565b915061413e826140fd565b602082019050919050565b6000602082019050818103600083015261416281614126565b905091905056fea264697066735822122008847f12b0f5c4d6014bcdf437ad79eafcc3b624d50b5855c616240c8abd7c7964736f6c634300081c0033

Deployed Bytecode Sourcemap

11068:13794:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24820:5;;;;;;;;;;;:13;;;24841:9;24820:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11068:13794;;;;11156:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21631:73;;;;;;;;;;;;;:::i;:::-;;14217:1363;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23420:657;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;5374:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11550:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20497:340;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19317:278;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3013:101;;;;;;;;;;;;;:::i;:::-;;19704:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11473:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11390:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21497:69;;;;;;;;;;;;;:::i;:::-;;2358:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24330:296;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18282:932;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11276:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;15661:1210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17146:918;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21043:391;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20043:324;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22017:995;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3263:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11195:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11156:33;;;;;;;;;;;;;:::o;21631:73::-;13072:14;:26;13087:10;13072:26;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;13116:7;:5;:7::i;:::-;13102:21;;:10;:21;;;13072:51;13051:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;21687:10:::1;:8;:10::i;:::-;21631:73::o:0;14217:1363::-;8722:21;:19;:21::i;:::-;4998:19:::1;:17;:19::i;:::-;14459:5:::2;13368:15;:22;13384:5;13368:22;;;;;;;;;;;;;;;;;;;;;;;;;13360:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;14476:35:::3;14520:17;14476:62;;14601:1;14569:22;:29;:33;14548:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;14712:1;14678:8;:20;14687:10;14678:20;;;;;;;;;;;:30;;;:35;14670:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14775:1;14758:19;;:5;:19;;::::0;14750:65:::3;;;;;;;;;;;;:::i;:::-;;;;;;;;;14842:1;14833:6;:10;14825:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14945:309;;;;;;;;14982:10;14945:309;;;;15012:10;14945:309;;;;;;15043:5;14945:309;;;;;;15070:6;14945:309;;;;15101:15;14945:309;;;;15148:17;14945:309;;;;15197:17;14945:309;;;;15234:9;14945:309;;::::0;14922:8:::3;:20;14931:10;14922:20;;;;;;;;;;;:332;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;15315:5;15308:26;;;15335:10;15355:4;15362:6;15308:61;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15386:5;15379:18;;;15398:6;15379:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;15430:1;15418:9;:13;15415:75;;;15446:5;;;;;;;;;;;:13;;;15467:9;15446:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;;15415:75;15559:5;15513:60;;15547:10;15513:60;;15535:10;15513:60;15566:6;15513:60;;;;;;:::i;:::-;;;;;;;;14466:1114;5027:1:::2;8764:20:::0;:18;:20::i;:::-;14217:1363;;;;;:::o;23420:657::-;23538:12;23564:13;23591:14;23619:17;23650:30;23694:24;23732:17;23774:27;23804:8;:20;23813:10;23804:20;;;;;;;;;;;23774:50;;23855:7;:12;;;;;;;;;;;;23881:7;:13;;;;;;;;;;;;23908:7;:14;;;23936:7;:17;;;23967:7;:24;;24005:7;:24;;;24043:7;:17;;;23834:236;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23420:657;;;;;;;;;:::o;5374:84::-;5421:4;5444:7;;;;;;;;;;;5437:14;;5374:84;:::o;11550:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;20497:340::-;2251:13;:11;:13::i;:::-;20605:7:::1;:5;:7::i;:::-;20587:25;;:14;:25;;::::0;20579:77:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20674:14;:30;20689:14;20674:30;;;;;;;;;;;;;;;;;;;;;;;;;20666:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;20773:5;20740:14;:30;20755:14;20740:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;20815:14;20794:36;;;;;;;;;;;;20497:340:::0;:::o;19317:278::-;2251:13;:11;:13::i;:::-;19415:1:::1;19397:20;;:6;:20;;::::0;19389:54:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;19462:15;:23;19478:6;19462:23;;;;;;;;;;;;;;;;;;;;;;;;;19461:24;19453:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19550:4;19524:15;:23;19540:6;19524:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;19581:6;19570:18;;;;;;;;;;;;19317:278:::0;:::o;3013:101::-;2251:13;:11;:13::i;:::-;3077:30:::1;3104:1;3077:18;:30::i;:::-;3013:101::o:0;19704:215::-;2251:13;:11;:13::i;:::-;19787:15:::1;:23;19803:6;19787:23;;;;;;;;;;;;;;;;;;;;;;;;;19779:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;19871:5;19845:15;:23;19861:6;19845:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;19905:6;19892:20;;;;;;;;;;;;19704:215:::0;:::o;11473:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;11390:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;21497:69::-;13072:14;:26;13087:10;13072:26;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;13116:7;:5;:7::i;:::-;13102:21;;:10;:21;;;13072:51;13051:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;21551:8:::1;:6;:8::i;:::-;21497:69::o:0;2358:85::-;2404:7;2430:6;;;;;;;;;;;2423:13;;2358:85;:::o;24330:296::-;24462:4;24478:17;24538:10;24550:6;24558:7;24521:45;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24498:78;;;;;;24478:98;;24593:15;:26;24609:9;24593:26;;;;;;;;;;;;;;;;;;;;;24586:33;;;24330:296;;;;;:::o;18282:932::-;8722:21;:19;:21::i;:::-;4998:19:::1;:17;:19::i;:::-;13072:14:::2;:26;13087:10;13072:26;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;13116:7;:5;:7::i;:::-;13102:21;;:10;:21;;;13072:51;13051:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;18489:1:::3;18468:23;;:9;:23;;::::0;18460:61:::3;;;;;;;;;;;;:::i;:::-;;;;;;;;;18548:1;18539:6;:10;18531:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;18652:17;18712:9;18731:1;18735:6;18744:10;18695:60;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18672:93;;;;;;18652:113;;18784:15;:26;18800:9;18784:26;;;;;;;;;;;;;;;;;;;;;18783:27;18775:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;18926:6;18904:5;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:28;;18896:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19038:4;19009:15;:26;19025:9;19009:26;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;19098:5;;;;;;;;;;;:14;;;19113:9;19124:6;19098:33;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;;;;;19176:9;19147:60;;;19187:6;19196:10;19147:60;;;;;;;:::i;:::-;;;;;;;;18450:764;8764:20:::0;:18;:20::i;:::-;18282:932;;;:::o;11276:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15661:1210::-;8722:21;:19;:21::i;:::-;4998:19:::1;:17;:19::i;:::-;15846:35:::2;15890:17;15846:62;;15971:1;15939:22;:29;:33;15918:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;16082:1;16048:8;:20;16057:10;16048:20;;;;;;;;;;;:30;;;:35;16040:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;16141:7;16128:9;:20;;:35;;;;;16162:1;16152:7;:11;16128:35;16120:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;16207:13;16235:7;16223:9;:19;;;;:::i;:::-;16207:35;;16309:393;;;;;;;;16346:10;16309:393;;;;16376:10;16309:393;;;;;;16415:1;16309:393;;;;;;16479:7;16309:393;;;;16511:15;16309:393;;;;16558:1;16309:393;;;;16649:17;16309:393;;;;16686:5;16309:393;;::::0;16286:8:::2;:20;16295:10;16286:20;;;;;;;;;;;:416;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16752:5;;;;;;;;;;;:13;;;16773:9;16752:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;16844:10;16801:63;;16832:10;16801:63;16856:7;16801:63;;;;;;:::i;:::-;;;;;;;;15836:1035;;8764:20:::0;:18;:20::i;:::-;15661:1210;;;:::o;17146:918::-;8722:21;:19;:21::i;:::-;4998:19:::1;:17;:19::i;:::-;13072:14:::2;:26;13087:10;13072:26;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;13116:7;:5;:7::i;:::-;13102:21;;:10;:21;;;13072:51;13051:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;17347:5:::3;13368:15;:22;13384:5;13368:22;;;;;;;;;;;;;;;;;;;;;;;;;13360:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;17393:1:::4;17372:23;;:9;:23;;::::0;17364:61:::4;;;;;;;;;;;;:::i;:::-;;;;;;;;;17452:1;17443:6;:10;17435:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;17522:1;17505:19;;:5;:19;;::::0;17497:63:::4;;;;;;;;;;;;:::i;:::-;;;;;;;;;17629:17;17689:9;17700:5;17707:6;17715:10;17672:54;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17649:87;;;;;;17629:107;;17755:15;:26;17771:9;17755:26;;;;;;;;;;;;;;;;;;;;;17754:27;17746:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;17884:4;17855:15;:26;17871:9;17855:26;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;17935:12;;;;;;;;;;;:22;;;17958:5;17965:9;17976:6;17935:48;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;18030:5;17999:58;;18019:9;17999:58;;;18037:6;18046:10;17999:58;;;;;;;:::i;:::-;;;;;;;;17354:710;13173:1:::3;8764:20:::0;:18;:20::i;:::-;17146:918;;;;:::o;21043:391::-;2251:13;:11;:13::i;:::-;21170:1:::1;21152:20;;:6;:20;;::::0;21144:54:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;21241:1;21216:27;;:13;:27;;::::0;21208:68:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;21302:6;21287:5;;:22;;;;;;;;;;;;;;;;;;21348:13;21319:12;;:43;;;;;;;;;;;;;;;;;;21413:13;21377:50;;21405:6;21377:50;;;;;;;;;;;;21043:391:::0;;:::o;20043:324::-;2251:13;:11;:13::i;:::-;20156:1:::1;20130:28;;:14;:28;;::::0;20122:62:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;20203:14;:30;20218:14;20203:30;;;;;;;;;;;;;;;;;;;;;;;;;20202:31;20194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20306:4;20273:14;:30;20288:14;20273:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;20345:14;20326:34;;;;;;;;;;;;20043:324:::0;:::o;22017:995::-;2251:13;:11;:13::i;:::-;22186:1:::1;22164:24;;:10;:24;;::::0;22156:54:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22243:1;22225:20;;:6;:20;;::::0;22221:721:::1;;22293:12;22311:10;:15;;22334:7;22311:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22292:54;;;22368:7;22360:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;22247:177;22221:721;;;22549:12;22563:17:::0;22584:6:::1;:11;;22707:10;22739:7;22613:151;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22584:194;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22548:230;;;;22817:7;:57;;;;;22844:1;22829:4;:11;:16;:44;;;;22860:4;22849:24;;;;;;;;;;;;:::i;:::-;22829:44;22817:57;22792:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;22430:512;;22221:721;22985:10;22957:48;;22977:6;22957:48;;;22997:7;22957:48;;;;;;:::i;:::-;;;;;;;;22017:995:::0;;;:::o;3263:215::-;2251:13;:11;:13::i;:::-;3367:1:::1;3347:22;;:8;:22;;::::0;3343:91:::1;;3420:1;3392:31;;;;;;;;;;;:::i;:::-;;;;;;;;3343:91;3443:28;3462:8;3443:18;:28::i;:::-;3263:215:::0;:::o;11195:19::-;;;;;;;;;;;;;:::o;6234:117::-;5245:16;:14;:16::i;:::-;6302:5:::1;6292:7;;:15;;;;;;;;;;;;;;;;;;6322:22;6331:12;:10;:12::i;:::-;6322:22;;;;;;:::i;:::-;;;;;;;;6234:117::o:0;8797:307::-;8121:1;8924:7;;:18;8920:86;;8965:30;;;;;;;;;;;;;;8920:86;8121:1;9080:7;:17;;;;8797:307::o;5526:128::-;5591:8;:6;:8::i;:::-;5587:61;;;5622:15;;;;;;;;;;;;;;5587:61;5526:128::o;9110:208::-;8079:1;9290:7;:21;;;;9110:208::o;2516:162::-;2586:12;:10;:12::i;:::-;2575:23;;:7;:5;:7::i;:::-;:23;;;2571:101;;2648:12;:10;:12::i;:::-;2621:40;;;;;;;;;;;:::i;:::-;;;;;;;;2571:101;2516:162::o;3632:187::-;3705:16;3724:6;;;;;;;;;;;3705:25;;3749:8;3740:6;;:17;;;;;;;;;;;;;;;;;;3803:8;3772:40;;3793:8;3772:40;;;;;;;;;;;;3695:124;3632:187;:::o;5987:115::-;4998:19;:17;:19::i;:::-;6056:4:::1;6046:7;;:14;;;;;;;;;;;;;;;;;;6075:20;6082:12;:10;:12::i;:::-;6075:20;;;;;;:::i;:::-;;;;;;;;5987:115::o:0;5726:126::-;5789:8;:6;:8::i;:::-;5784:62;;5820:15;;;;;;;;;;;;;;5784:62;5726:126::o;587:96::-;640:7;666:10;659:17;;587:96;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:60::-;167:3;188:5;181:12;;139:60;;;:::o;205:142::-;255:9;288:53;306:34;315:24;333:5;315:24;:::i;:::-;306:34;:::i;:::-;288:53;:::i;:::-;275:66;;205:142;;;:::o;353:126::-;403:9;436:37;467:5;436:37;:::i;:::-;423:50;;353:126;;;:::o;485:147::-;556:9;589:37;620:5;589:37;:::i;:::-;576:50;;485:147;;;:::o;638:173::-;746:58;798:5;746:58;:::i;:::-;741:3;734:71;638:173;;:::o;817:264::-;931:4;969:2;958:9;954:18;946:26;;982:92;1071:1;1060:9;1056:17;1047:6;982:92;:::i;:::-;817:264;;;;:::o;1087:75::-;1120:6;1153:2;1147:9;1137:19;;1087:75;:::o;1168:117::-;1277:1;1274;1267:12;1291:117;1400:1;1397;1390:12;1414:96;1451:7;1480:24;1498:5;1480:24;:::i;:::-;1469:35;;1414:96;;;:::o;1516:122::-;1589:24;1607:5;1589:24;:::i;:::-;1582:5;1579:35;1569:63;;1628:1;1625;1618:12;1569:63;1516:122;:::o;1644:139::-;1690:5;1728:6;1715:20;1706:29;;1744:33;1771:5;1744:33;:::i;:::-;1644:139;;;;:::o;1789:77::-;1826:7;1855:5;1844:16;;1789:77;;;:::o;1872:122::-;1945:24;1963:5;1945:24;:::i;:::-;1938:5;1935:35;1925:63;;1984:1;1981;1974:12;1925:63;1872:122;:::o;2000:139::-;2046:5;2084:6;2071:20;2062:29;;2100:33;2127:5;2100:33;:::i;:::-;2000:139;;;;:::o;2145:117::-;2254:1;2251;2244:12;2268:117;2377:1;2374;2367:12;2391:102;2432:6;2483:2;2479:7;2474:2;2467:5;2463:14;2459:28;2449:38;;2391:102;;;:::o;2499:180::-;2547:77;2544:1;2537:88;2644:4;2641:1;2634:15;2668:4;2665:1;2658:15;2685:281;2768:27;2790:4;2768:27;:::i;:::-;2760:6;2756:40;2898:6;2886:10;2883:22;2862:18;2850:10;2847:34;2844:62;2841:88;;;2909:18;;:::i;:::-;2841:88;2949:10;2945:2;2938:22;2728:238;2685:281;;:::o;2972:129::-;3006:6;3033:20;;:::i;:::-;3023:30;;3062:33;3090:4;3082:6;3062:33;:::i;:::-;2972:129;;;:::o;3107:308::-;3169:4;3259:18;3251:6;3248:30;3245:56;;;3281:18;;:::i;:::-;3245:56;3319:29;3341:6;3319:29;:::i;:::-;3311:37;;3403:4;3397;3393:15;3385:23;;3107:308;;;:::o;3421:148::-;3519:6;3514:3;3509;3496:30;3560:1;3551:6;3546:3;3542:16;3535:27;3421:148;;;:::o;3575:425::-;3653:5;3678:66;3694:49;3736:6;3694:49;:::i;:::-;3678:66;:::i;:::-;3669:75;;3767:6;3760:5;3753:21;3805:4;3798:5;3794:16;3843:3;3834:6;3829:3;3825:16;3822:25;3819:112;;;3850:79;;:::i;:::-;3819:112;3940:54;3987:6;3982:3;3977;3940:54;:::i;:::-;3659:341;3575:425;;;;;:::o;4020:340::-;4076:5;4125:3;4118:4;4110:6;4106:17;4102:27;4092:122;;4133:79;;:::i;:::-;4092:122;4250:6;4237:20;4275:79;4350:3;4342:6;4335:4;4327:6;4323:17;4275:79;:::i;:::-;4266:88;;4082:278;4020:340;;;;:::o;4366:1091::-;4471:6;4479;4487;4495;4503;4552:3;4540:9;4531:7;4527:23;4523:33;4520:120;;;4559:79;;:::i;:::-;4520:120;4679:1;4704:53;4749:7;4740:6;4729:9;4725:22;4704:53;:::i;:::-;4694:63;;4650:117;4806:2;4832:53;4877:7;4868:6;4857:9;4853:22;4832:53;:::i;:::-;4822:63;;4777:118;4962:2;4951:9;4947:18;4934:32;4993:18;4985:6;4982:30;4979:117;;;5015:79;;:::i;:::-;4979:117;5120:63;5175:7;5166:6;5155:9;5151:22;5120:63;:::i;:::-;5110:73;;4905:288;5232:2;5258:53;5303:7;5294:6;5283:9;5279:22;5258:53;:::i;:::-;5248:63;;5203:118;5360:3;5387:53;5432:7;5423:6;5412:9;5408:22;5387:53;:::i;:::-;5377:63;;5331:119;4366:1091;;;;;;;;:::o;5463:329::-;5522:6;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5697:1;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5668:117;5463:329;;;;:::o;5798:118::-;5885:24;5903:5;5885:24;:::i;:::-;5880:3;5873:37;5798:118;;:::o;5922:::-;6009:24;6027:5;6009:24;:::i;:::-;6004:3;5997:37;5922:118;;:::o;6046:99::-;6098:6;6132:5;6126:12;6116:22;;6046:99;;;:::o;6151:169::-;6235:11;6269:6;6264:3;6257:19;6309:4;6304:3;6300:14;6285:29;;6151:169;;;;:::o;6326:248::-;6408:1;6418:113;6432:6;6429:1;6426:13;6418:113;;;6517:1;6512:3;6508:11;6502:18;6498:1;6493:3;6489:11;6482:39;6454:2;6451:1;6447:10;6442:15;;6418:113;;;6565:1;6556:6;6551:3;6547:16;6540:27;6388:186;6326:248;;;:::o;6580:377::-;6668:3;6696:39;6729:5;6696:39;:::i;:::-;6751:71;6815:6;6810:3;6751:71;:::i;:::-;6744:78;;6831:65;6889:6;6884:3;6877:4;6870:5;6866:16;6831:65;:::i;:::-;6921:29;6943:6;6921:29;:::i;:::-;6916:3;6912:39;6905:46;;6672:285;6580:377;;;;:::o;6963:977::-;7244:4;7282:3;7271:9;7267:19;7259:27;;7296:71;7364:1;7353:9;7349:17;7340:6;7296:71;:::i;:::-;7377:72;7445:2;7434:9;7430:18;7421:6;7377:72;:::i;:::-;7459;7527:2;7516:9;7512:18;7503:6;7459:72;:::i;:::-;7541;7609:2;7598:9;7594:18;7585:6;7541:72;:::i;:::-;7661:9;7655:4;7651:20;7645:3;7634:9;7630:19;7623:49;7689:78;7762:4;7753:6;7689:78;:::i;:::-;7681:86;;7777:73;7845:3;7834:9;7830:19;7821:6;7777:73;:::i;:::-;7860;7928:3;7917:9;7913:19;7904:6;7860:73;:::i;:::-;6963:977;;;;;;;;;;:::o;7946:90::-;7980:7;8023:5;8016:13;8009:21;7998:32;;7946:90;;;:::o;8042:109::-;8123:21;8138:5;8123:21;:::i;:::-;8118:3;8111:34;8042:109;;:::o;8157:210::-;8244:4;8282:2;8271:9;8267:18;8259:26;;8295:65;8357:1;8346:9;8342:17;8333:6;8295:65;:::i;:::-;8157:210;;;;:::o;8373:329::-;8432:6;8481:2;8469:9;8460:7;8456:23;8452:32;8449:119;;;8487:79;;:::i;:::-;8449:119;8607:1;8632:53;8677:7;8668:6;8657:9;8653:22;8632:53;:::i;:::-;8622:63;;8578:117;8373:329;;;;:::o;8708:77::-;8745:7;8774:5;8763:16;;8708:77;;;:::o;8791:122::-;8864:24;8882:5;8864:24;:::i;:::-;8857:5;8854:35;8844:63;;8903:1;8900;8893:12;8844:63;8791:122;:::o;8919:139::-;8965:5;9003:6;8990:20;8981:29;;9019:33;9046:5;9019:33;:::i;:::-;8919:139;;;;:::o;9064:329::-;9123:6;9172:2;9160:9;9151:7;9147:23;9143:32;9140:119;;;9178:79;;:::i;:::-;9140:119;9298:1;9323:53;9368:7;9359:6;9348:9;9344:22;9323:53;:::i;:::-;9313:63;;9269:117;9064:329;;;;:::o;9399:222::-;9492:4;9530:2;9519:9;9515:18;9507:26;;9543:71;9611:1;9600:9;9596:17;9587:6;9543:71;:::i;:::-;9399:222;;;;:::o;9627:619::-;9704:6;9712;9720;9769:2;9757:9;9748:7;9744:23;9740:32;9737:119;;;9775:79;;:::i;:::-;9737:119;9895:1;9920:53;9965:7;9956:6;9945:9;9941:22;9920:53;:::i;:::-;9910:63;;9866:117;10022:2;10048:53;10093:7;10084:6;10073:9;10069:22;10048:53;:::i;:::-;10038:63;;9993:118;10150:2;10176:53;10221:7;10212:6;10201:9;10197:22;10176:53;:::i;:::-;10166:63;;10121:118;9627:619;;;;;:::o;10252:::-;10329:6;10337;10345;10394:2;10382:9;10373:7;10369:23;10365:32;10362:119;;;10400:79;;:::i;:::-;10362:119;10520:1;10545:53;10590:7;10581:6;10570:9;10566:22;10545:53;:::i;:::-;10535:63;;10491:117;10647:2;10673:53;10718:7;10709:6;10698:9;10694:22;10673:53;:::i;:::-;10663:63;;10618:118;10775:2;10801:53;10846:7;10837:6;10826:9;10822:22;10801:53;:::i;:::-;10791:63;;10746:118;10252:619;;;;;:::o;10877:1088::-;11186:4;11224:3;11213:9;11209:19;11201:27;;11238:71;11306:1;11295:9;11291:17;11282:6;11238:71;:::i;:::-;11319:72;11387:2;11376:9;11372:18;11363:6;11319:72;:::i;:::-;11401;11469:2;11458:9;11454:18;11445:6;11401:72;:::i;:::-;11483;11551:2;11540:9;11536:18;11527:6;11483:72;:::i;:::-;11565:73;11633:3;11622:9;11618:19;11609:6;11565:73;:::i;:::-;11648;11716:3;11705:9;11701:19;11692:6;11648:73;:::i;:::-;11769:9;11763:4;11759:20;11753:3;11742:9;11738:19;11731:49;11797:78;11870:4;11861:6;11797:78;:::i;:::-;11789:86;;11885:73;11953:3;11942:9;11938:19;11929:6;11885:73;:::i;:::-;10877:1088;;;;;;;;;;;:::o;11971:799::-;12058:6;12066;12074;12123:2;12111:9;12102:7;12098:23;12094:32;12091:119;;;12129:79;;:::i;:::-;12091:119;12277:1;12266:9;12262:17;12249:31;12307:18;12299:6;12296:30;12293:117;;;12329:79;;:::i;:::-;12293:117;12434:63;12489:7;12480:6;12469:9;12465:22;12434:63;:::i;:::-;12424:73;;12220:287;12546:2;12572:53;12617:7;12608:6;12597:9;12593:22;12572:53;:::i;:::-;12562:63;;12517:118;12674:2;12700:53;12745:7;12736:6;12725:9;12721:22;12700:53;:::i;:::-;12690:63;;12645:118;11971:799;;;;;:::o;12776:765::-;12862:6;12870;12878;12886;12935:3;12923:9;12914:7;12910:23;12906:33;12903:120;;;12942:79;;:::i;:::-;12903:120;13062:1;13087:53;13132:7;13123:6;13112:9;13108:22;13087:53;:::i;:::-;13077:63;;13033:117;13189:2;13215:53;13260:7;13251:6;13240:9;13236:22;13215:53;:::i;:::-;13205:63;;13160:118;13317:2;13343:53;13388:7;13379:6;13368:9;13364:22;13343:53;:::i;:::-;13333:63;;13288:118;13445:2;13471:53;13516:7;13507:6;13496:9;13492:22;13471:53;:::i;:::-;13461:63;;13416:118;12776:765;;;;;;;:::o;13547:474::-;13615:6;13623;13672:2;13660:9;13651:7;13647:23;13643:32;13640:119;;;13678:79;;:::i;:::-;13640:119;13798:1;13823:53;13868:7;13859:6;13848:9;13844:22;13823:53;:::i;:::-;13813:63;;13769:117;13925:2;13951:53;13996:7;13987:6;13976:9;13972:22;13951:53;:::i;:::-;13941:63;;13896:118;13547:474;;;;;:::o;14027:140::-;14091:9;14124:37;14155:5;14124:37;:::i;:::-;14111:50;;14027:140;;;:::o;14173:159::-;14274:51;14319:5;14274:51;:::i;:::-;14269:3;14262:64;14173:159;;:::o;14338:250::-;14445:4;14483:2;14472:9;14468:18;14460:26;;14496:85;14578:1;14567:9;14563:17;14554:6;14496:85;:::i;:::-;14338:250;;;;:::o;14594:164::-;14734:16;14730:1;14722:6;14718:14;14711:40;14594:164;:::o;14764:366::-;14906:3;14927:67;14991:2;14986:3;14927:67;:::i;:::-;14920:74;;15003:93;15092:3;15003:93;:::i;:::-;15121:2;15116:3;15112:12;15105:19;;14764:366;;;:::o;15136:419::-;15302:4;15340:2;15329:9;15325:18;15317:26;;15389:9;15383:4;15379:20;15375:1;15364:9;15360:17;15353:47;15417:131;15543:4;15417:131;:::i;:::-;15409:139;;15136:419;;;:::o;15561:169::-;15701:21;15697:1;15689:6;15685:14;15678:45;15561:169;:::o;15736:366::-;15878:3;15899:67;15963:2;15958:3;15899:67;:::i;:::-;15892:74;;15975:93;16064:3;15975:93;:::i;:::-;16093:2;16088:3;16084:12;16077:19;;15736:366;;;:::o;16108:419::-;16274:4;16312:2;16301:9;16297:18;16289:26;;16361:9;16355:4;16351:20;16347:1;16336:9;16332:17;16325:47;16389:131;16515:4;16389:131;:::i;:::-;16381:139;;16108:419;;;:::o;16533:182::-;16673:34;16669:1;16661:6;16657:14;16650:58;16533:182;:::o;16721:366::-;16863:3;16884:67;16948:2;16943:3;16884:67;:::i;:::-;16877:74;;16960:93;17049:3;16960:93;:::i;:::-;17078:2;17073:3;17069:12;17062:19;;16721:366;;;:::o;17093:419::-;17259:4;17297:2;17286:9;17282:18;17274:26;;17346:9;17340:4;17336:20;17332:1;17321:9;17317:17;17310:47;17374:131;17500:4;17374:131;:::i;:::-;17366:139;;17093:419;;;:::o;17518:172::-;17658:24;17654:1;17646:6;17642:14;17635:48;17518:172;:::o;17696:366::-;17838:3;17859:67;17923:2;17918:3;17859:67;:::i;:::-;17852:74;;17935:93;18024:3;17935:93;:::i;:::-;18053:2;18048:3;18044:12;18037:19;;17696:366;;;:::o;18068:419::-;18234:4;18272:2;18261:9;18257:18;18249:26;;18321:9;18315:4;18311:20;18307:1;18296:9;18292:17;18285:47;18349:131;18475:4;18349:131;:::i;:::-;18341:139;;18068:419;;;:::o;18493:220::-;18633:34;18629:1;18621:6;18617:14;18610:58;18702:3;18697:2;18689:6;18685:15;18678:28;18493:220;:::o;18719:366::-;18861:3;18882:67;18946:2;18941:3;18882:67;:::i;:::-;18875:74;;18958:93;19047:3;18958:93;:::i;:::-;19076:2;19071:3;19067:12;19060:19;;18719:366;;;:::o;19091:419::-;19257:4;19295:2;19284:9;19280:18;19272:26;;19344:9;19338:4;19334:20;19330:1;19319:9;19315:17;19308:47;19372:131;19498:4;19372:131;:::i;:::-;19364:139;;19091:419;;;:::o;19516:179::-;19656:31;19652:1;19644:6;19640:14;19633:55;19516:179;:::o;19701:366::-;19843:3;19864:67;19928:2;19923:3;19864:67;:::i;:::-;19857:74;;19940:93;20029:3;19940:93;:::i;:::-;20058:2;20053:3;20049:12;20042:19;;19701:366;;;:::o;20073:419::-;20239:4;20277:2;20266:9;20262:18;20254:26;;20326:9;20320:4;20316:20;20312:1;20301:9;20297:17;20290:47;20354:131;20480:4;20354:131;:::i;:::-;20346:139;;20073:419;;;:::o;20498:180::-;20546:77;20543:1;20536:88;20643:4;20640:1;20633:15;20667:4;20664:1;20657:15;20684:320;20728:6;20765:1;20759:4;20755:12;20745:22;;20812:1;20806:4;20802:12;20833:18;20823:81;;20889:4;20881:6;20877:17;20867:27;;20823:81;20951:2;20943:6;20940:14;20920:18;20917:38;20914:84;;20970:18;;:::i;:::-;20914:84;20735:269;20684:320;;;:::o;21010:141::-;21059:4;21082:3;21074:11;;21105:3;21102:1;21095:14;21139:4;21136:1;21126:18;21118:26;;21010:141;;;:::o;21157:93::-;21194:6;21241:2;21236;21229:5;21225:14;21221:23;21211:33;;21157:93;;;:::o;21256:107::-;21300:8;21350:5;21344:4;21340:16;21319:37;;21256:107;;;;:::o;21369:393::-;21438:6;21488:1;21476:10;21472:18;21511:97;21541:66;21530:9;21511:97;:::i;:::-;21629:39;21659:8;21648:9;21629:39;:::i;:::-;21617:51;;21701:4;21697:9;21690:5;21686:21;21677:30;;21750:4;21740:8;21736:19;21729:5;21726:30;21716:40;;21445:317;;21369:393;;;;;:::o;21768:142::-;21818:9;21851:53;21869:34;21878:24;21896:5;21878:24;:::i;:::-;21869:34;:::i;:::-;21851:53;:::i;:::-;21838:66;;21768:142;;;:::o;21916:75::-;21959:3;21980:5;21973:12;;21916:75;;;:::o;21997:269::-;22107:39;22138:7;22107:39;:::i;:::-;22168:91;22217:41;22241:16;22217:41;:::i;:::-;22209:6;22202:4;22196:11;22168:91;:::i;:::-;22162:4;22155:105;22073:193;21997:269;;;:::o;22272:73::-;22317:3;22272:73;:::o;22351:189::-;22428:32;;:::i;:::-;22469:65;22527:6;22519;22513:4;22469:65;:::i;:::-;22404:136;22351:189;;:::o;22546:186::-;22606:120;22623:3;22616:5;22613:14;22606:120;;;22677:39;22714:1;22707:5;22677:39;:::i;:::-;22650:1;22643:5;22639:13;22630:22;;22606:120;;;22546:186;;:::o;22738:543::-;22839:2;22834:3;22831:11;22828:446;;;22873:38;22905:5;22873:38;:::i;:::-;22957:29;22975:10;22957:29;:::i;:::-;22947:8;22943:44;23140:2;23128:10;23125:18;23122:49;;;23161:8;23146:23;;23122:49;23184:80;23240:22;23258:3;23240:22;:::i;:::-;23230:8;23226:37;23213:11;23184:80;:::i;:::-;22843:431;;22828:446;22738:543;;;:::o;23287:117::-;23341:8;23391:5;23385:4;23381:16;23360:37;;23287:117;;;;:::o;23410:169::-;23454:6;23487:51;23535:1;23531:6;23523:5;23520:1;23516:13;23487:51;:::i;:::-;23483:56;23568:4;23562;23558:15;23548:25;;23461:118;23410:169;;;;:::o;23584:295::-;23660:4;23806:29;23831:3;23825:4;23806:29;:::i;:::-;23798:37;;23868:3;23865:1;23861:11;23855:4;23852:21;23844:29;;23584:295;;;;:::o;23884:1395::-;24001:37;24034:3;24001:37;:::i;:::-;24103:18;24095:6;24092:30;24089:56;;;24125:18;;:::i;:::-;24089:56;24169:38;24201:4;24195:11;24169:38;:::i;:::-;24254:67;24314:6;24306;24300:4;24254:67;:::i;:::-;24348:1;24372:4;24359:17;;24404:2;24396:6;24393:14;24421:1;24416:618;;;;25078:1;25095:6;25092:77;;;25144:9;25139:3;25135:19;25129:26;25120:35;;25092:77;25195:67;25255:6;25248:5;25195:67;:::i;:::-;25189:4;25182:81;25051:222;24386:887;;24416:618;24468:4;24464:9;24456:6;24452:22;24502:37;24534:4;24502:37;:::i;:::-;24561:1;24575:208;24589:7;24586:1;24583:14;24575:208;;;24668:9;24663:3;24659:19;24653:26;24645:6;24638:42;24719:1;24711:6;24707:14;24697:24;;24766:2;24755:9;24751:18;24738:31;;24612:4;24609:1;24605:12;24600:17;;24575:208;;;24811:6;24802:7;24799:19;24796:179;;;24869:9;24864:3;24860:19;24854:26;24912:48;24954:4;24946:6;24942:17;24931:9;24912:48;:::i;:::-;24904:6;24897:64;24819:156;24796:179;25021:1;25017;25009:6;25005:14;25001:22;24995:4;24988:36;24423:611;;;24386:887;;23976:1303;;;23884:1395;;:::o;25285:442::-;25434:4;25472:2;25461:9;25457:18;25449:26;;25485:71;25553:1;25542:9;25538:17;25529:6;25485:71;:::i;:::-;25566:72;25634:2;25623:9;25619:18;25610:6;25566:72;:::i;:::-;25648;25716:2;25705:9;25701:18;25692:6;25648:72;:::i;:::-;25285:442;;;;;;:::o;25733:116::-;25803:21;25818:5;25803:21;:::i;:::-;25796:5;25793:32;25783:60;;25839:1;25836;25829:12;25783:60;25733:116;:::o;25855:137::-;25909:5;25940:6;25934:13;25925:22;;25956:30;25980:5;25956:30;:::i;:::-;25855:137;;;;:::o;25998:345::-;26065:6;26114:2;26102:9;26093:7;26089:23;26085:32;26082:119;;;26120:79;;:::i;:::-;26082:119;26240:1;26265:61;26318:7;26309:6;26298:9;26294:22;26265:61;:::i;:::-;26255:71;;26211:125;25998:345;;;;:::o;26349:222::-;26442:4;26480:2;26469:9;26465:18;26457:26;;26493:71;26561:1;26550:9;26546:17;26537:6;26493:71;:::i;:::-;26349:222;;;;:::o;26577:226::-;26717:34;26713:1;26705:6;26701:14;26694:58;26786:9;26781:2;26773:6;26769:15;26762:34;26577:226;:::o;26809:366::-;26951:3;26972:67;27036:2;27031:3;26972:67;:::i;:::-;26965:74;;27048:93;27137:3;27048:93;:::i;:::-;27166:2;27161:3;27157:12;27150:19;;26809:366;;;:::o;27181:419::-;27347:4;27385:2;27374:9;27370:18;27362:26;;27434:9;27428:4;27424:20;27420:1;27409:9;27405:17;27398:47;27462:131;27588:4;27462:131;:::i;:::-;27454:139;;27181:419;;;:::o;27606:170::-;27746:22;27742:1;27734:6;27730:14;27723:46;27606:170;:::o;27782:366::-;27924:3;27945:67;28009:2;28004:3;27945:67;:::i;:::-;27938:74;;28021:93;28110:3;28021:93;:::i;:::-;28139:2;28134:3;28130:12;28123:19;;27782:366;;;:::o;28154:419::-;28320:4;28358:2;28347:9;28343:18;28335:26;;28407:9;28401:4;28397:20;28393:1;28382:9;28378:17;28371:47;28435:131;28561:4;28435:131;:::i;:::-;28427:139;;28154:419;;;:::o;28579:171::-;28719:23;28715:1;28707:6;28703:14;28696:47;28579:171;:::o;28756:366::-;28898:3;28919:67;28983:2;28978:3;28919:67;:::i;:::-;28912:74;;28995:93;29084:3;28995:93;:::i;:::-;29113:2;29108:3;29104:12;29097:19;;28756:366;;;:::o;29128:419::-;29294:4;29332:2;29321:9;29317:18;29309:26;;29381:9;29375:4;29371:20;29367:1;29356:9;29352:17;29345:47;29409:131;29535:4;29409:131;:::i;:::-;29401:139;;29128:419;;;:::o;29553:173::-;29693:25;29689:1;29681:6;29677:14;29670:49;29553:173;:::o;29732:366::-;29874:3;29895:67;29959:2;29954:3;29895:67;:::i;:::-;29888:74;;29971:93;30060:3;29971:93;:::i;:::-;30089:2;30084:3;30080:12;30073:19;;29732:366;;;:::o;30104:419::-;30270:4;30308:2;30297:9;30293:18;30285:26;;30357:9;30351:4;30347:20;30343:1;30332:9;30328:17;30321:47;30385:131;30511:4;30385:131;:::i;:::-;30377:139;;30104:419;;;:::o;30529:94::-;30562:8;30610:5;30606:2;30602:14;30581:35;;30529:94;;;:::o;30629:::-;30668:7;30697:20;30711:5;30697:20;:::i;:::-;30686:31;;30629:94;;;:::o;30729:100::-;30768:7;30797:26;30817:5;30797:26;:::i;:::-;30786:37;;30729:100;;;:::o;30835:157::-;30940:45;30960:24;30978:5;30960:24;:::i;:::-;30940:45;:::i;:::-;30935:3;30928:58;30835:157;;:::o;30998:79::-;31037:7;31066:5;31055:16;;30998:79;;;:::o;31083:157::-;31188:45;31208:24;31226:5;31208:24;:::i;:::-;31188:45;:::i;:::-;31183:3;31176:58;31083:157;;:::o;31246:538::-;31414:3;31429:75;31500:3;31491:6;31429:75;:::i;:::-;31529:2;31524:3;31520:12;31513:19;;31542:75;31613:3;31604:6;31542:75;:::i;:::-;31642:2;31637:3;31633:12;31626:19;;31655:75;31726:3;31717:6;31655:75;:::i;:::-;31755:2;31750:3;31746:12;31739:19;;31775:3;31768:10;;31246:538;;;;;;:::o;31790:175::-;31930:27;31926:1;31918:6;31914:14;31907:51;31790:175;:::o;31971:366::-;32113:3;32134:67;32198:2;32193:3;32134:67;:::i;:::-;32127:74;;32210:93;32299:3;32210:93;:::i;:::-;32328:2;32323:3;32319:12;32312:19;;31971:366;;;:::o;32343:419::-;32509:4;32547:2;32536:9;32532:18;32524:26;;32596:9;32590:4;32586:20;32582:1;32571:9;32567:17;32560:47;32624:131;32750:4;32624:131;:::i;:::-;32616:139;;32343:419;;;:::o;32768:679::-;32964:3;32979:75;33050:3;33041:6;32979:75;:::i;:::-;33079:2;33074:3;33070:12;33063:19;;33092:75;33163:3;33154:6;33092:75;:::i;:::-;33192:2;33187:3;33183:12;33176:19;;33205:75;33276:3;33267:6;33205:75;:::i;:::-;33305:2;33300:3;33296:12;33289:19;;33318:75;33389:3;33380:6;33318:75;:::i;:::-;33418:2;33413:3;33409:12;33402:19;;33438:3;33431:10;;32768:679;;;;;;;:::o;33453:173::-;33593:25;33589:1;33581:6;33577:14;33570:49;33453:173;:::o;33632:366::-;33774:3;33795:67;33859:2;33854:3;33795:67;:::i;:::-;33788:74;;33871:93;33960:3;33871:93;:::i;:::-;33989:2;33984:3;33980:12;33973:19;;33632:366;;;:::o;34004:419::-;34170:4;34208:2;34197:9;34193:18;34185:26;;34257:9;34251:4;34247:20;34243:1;34232:9;34228:17;34221:47;34285:131;34411:4;34285:131;:::i;:::-;34277:139;;34004:419;;;:::o;34429:143::-;34486:5;34517:6;34511:13;34502:22;;34533:33;34560:5;34533:33;:::i;:::-;34429:143;;;;:::o;34578:351::-;34648:6;34697:2;34685:9;34676:7;34672:23;34668:32;34665:119;;;34703:79;;:::i;:::-;34665:119;34823:1;34848:64;34904:7;34895:6;34884:9;34880:22;34848:64;:::i;:::-;34838:74;;34794:128;34578:351;;;;:::o;34935:176::-;35075:28;35071:1;35063:6;35059:14;35052:52;34935:176;:::o;35117:366::-;35259:3;35280:67;35344:2;35339:3;35280:67;:::i;:::-;35273:74;;35356:93;35445:3;35356:93;:::i;:::-;35474:2;35469:3;35465:12;35458:19;;35117:366;;;:::o;35489:419::-;35655:4;35693:2;35682:9;35678:18;35670:26;;35742:9;35736:4;35732:20;35728:1;35717:9;35713:17;35706:47;35770:131;35896:4;35770:131;:::i;:::-;35762:139;;35489:419;;;:::o;35914:332::-;36035:4;36073:2;36062:9;36058:18;36050:26;;36086:71;36154:1;36143:9;36139:17;36130:6;36086:71;:::i;:::-;36167:72;36235:2;36224:9;36220:18;36211:6;36167:72;:::i;:::-;35914:332;;;;;:::o;36252:::-;36373:4;36411:2;36400:9;36396:18;36388:26;;36424:71;36492:1;36481:9;36477:17;36468:6;36424:71;:::i;:::-;36505:72;36573:2;36562:9;36558:18;36549:6;36505:72;:::i;:::-;36252:332;;;;;:::o;36590:180::-;36638:77;36635:1;36628:88;36735:4;36732:1;36725:15;36759:4;36756:1;36749:15;36776:194;36816:4;36836:20;36854:1;36836:20;:::i;:::-;36831:25;;36870:20;36888:1;36870:20;:::i;:::-;36865:25;;36914:1;36911;36907:9;36899:17;;36938:1;36932:4;36929:11;36926:37;;;36943:18;;:::i;:::-;36926:37;36776:194;;;;:::o;36976:181::-;37116:33;37112:1;37104:6;37100:14;37093:57;36976:181;:::o;37163:366::-;37305:3;37326:67;37390:2;37385:3;37326:67;:::i;:::-;37319:74;;37402:93;37491:3;37402:93;:::i;:::-;37520:2;37515:3;37511:12;37504:19;;37163:366;;;:::o;37535:419::-;37701:4;37739:2;37728:9;37724:18;37716:26;;37788:9;37782:4;37778:20;37774:1;37763:9;37759:17;37752:47;37816:131;37942:4;37816:131;:::i;:::-;37808:139;;37535:419;;;:::o;37960:171::-;38100:23;38096:1;38088:6;38084:14;38077:47;37960:171;:::o;38137:366::-;38279:3;38300:67;38364:2;38359:3;38300:67;:::i;:::-;38293:74;;38376:93;38465:3;38376:93;:::i;:::-;38494:2;38489:3;38485:12;38478:19;;38137:366;;;:::o;38509:419::-;38675:4;38713:2;38702:9;38698:18;38690:26;;38762:9;38756:4;38752:20;38748:1;38737:9;38733:17;38726:47;38790:131;38916:4;38790:131;:::i;:::-;38782:139;;38509:419;;;:::o;38934:178::-;39074:30;39070:1;39062:6;39058:14;39051:54;38934:178;:::o;39118:366::-;39260:3;39281:67;39345:2;39340:3;39281:67;:::i;:::-;39274:74;;39357:93;39446:3;39357:93;:::i;:::-;39475:2;39470:3;39466:12;39459:19;;39118:366;;;:::o;39490:419::-;39656:4;39694:2;39683:9;39679:18;39671:26;;39743:9;39737:4;39733:20;39729:1;39718:9;39714:17;39707:47;39771:131;39897:4;39771:131;:::i;:::-;39763:139;;39490:419;;;:::o;39915:171::-;40055:23;40051:1;40043:6;40039:14;40032:47;39915:171;:::o;40092:366::-;40234:3;40255:67;40319:2;40314:3;40255:67;:::i;:::-;40248:74;;40331:93;40420:3;40331:93;:::i;:::-;40449:2;40444:3;40440:12;40433:19;;40092:366;;;:::o;40464:419::-;40630:4;40668:2;40657:9;40653:18;40645:26;;40717:9;40711:4;40707:20;40703:1;40692:9;40688:17;40681:47;40745:131;40871:4;40745:131;:::i;:::-;40737:139;;40464:419;;;:::o;40889:174::-;41029:26;41025:1;41017:6;41013:14;41006:50;40889:174;:::o;41069:366::-;41211:3;41232:67;41296:2;41291:3;41232:67;:::i;:::-;41225:74;;41308:93;41397:3;41308:93;:::i;:::-;41426:2;41421:3;41417:12;41410:19;;41069:366;;;:::o;41441:419::-;41607:4;41645:2;41634:9;41630:18;41622:26;;41694:9;41688:4;41684:20;41680:1;41669:9;41665:17;41658:47;41722:131;41848:4;41722:131;:::i;:::-;41714:139;;41441:419;;;:::o;41866:167::-;42006:19;42002:1;41994:6;41990:14;41983:43;41866:167;:::o;42039:366::-;42181:3;42202:67;42266:2;42261:3;42202:67;:::i;:::-;42195:74;;42278:93;42367:3;42278:93;:::i;:::-;42396:2;42391:3;42387:12;42380:19;;42039:366;;;:::o;42411:419::-;42577:4;42615:2;42604:9;42600:18;42592:26;;42664:9;42658:4;42654:20;42650:1;42639:9;42635:17;42628:47;42692:131;42818:4;42692:131;:::i;:::-;42684:139;;42411:419;;;:::o;42836:147::-;42937:11;42974:3;42959:18;;42836:147;;;;:::o;42989:114::-;;:::o;43109:398::-;43268:3;43289:83;43370:1;43365:3;43289:83;:::i;:::-;43282:90;;43381:93;43470:3;43381:93;:::i;:::-;43499:1;43494:3;43490:11;43483:18;;43109:398;;;:::o;43513:379::-;43697:3;43719:147;43862:3;43719:147;:::i;:::-;43712:154;;43883:3;43876:10;;43513:379;;;:::o;43898:220::-;44038:34;44034:1;44026:6;44022:14;44015:58;44107:3;44102:2;44094:6;44090:15;44083:28;43898:220;:::o;44124:366::-;44266:3;44287:67;44351:2;44346:3;44287:67;:::i;:::-;44280:74;;44363:93;44452:3;44363:93;:::i;:::-;44481:2;44476:3;44472:12;44465:19;;44124:366;;;:::o;44496:419::-;44662:4;44700:2;44689:9;44685:18;44677:26;;44749:9;44743:4;44739:20;44735:1;44724:9;44720:17;44713:47;44777:131;44903:4;44777:131;:::i;:::-;44769:139;;44496:419;;;:::o;44921:98::-;44972:6;45006:5;45000:12;44990:22;;44921:98;;;:::o;45025:386::-;45129:3;45157:38;45189:5;45157:38;:::i;:::-;45211:88;45292:6;45287:3;45211:88;:::i;:::-;45204:95;;45308:65;45366:6;45361:3;45354:4;45347:5;45343:16;45308:65;:::i;:::-;45398:6;45393:3;45389:16;45382:23;;45133:278;45025:386;;;;:::o;45417:271::-;45547:3;45569:93;45658:3;45649:6;45569:93;:::i;:::-;45562:100;;45679:3;45672:10;;45417:271;;;;:::o;45694:173::-;45834:25;45830:1;45822:6;45818:14;45811:49;45694:173;:::o;45873:366::-;46015:3;46036:67;46100:2;46095:3;46036:67;:::i;:::-;46029:74;;46112:93;46201:3;46112:93;:::i;:::-;46230:2;46225:3;46221:12;46214:19;;45873:366;;;:::o;46245:419::-;46411:4;46449:2;46438:9;46434:18;46426:26;;46498:9;46492:4;46488:20;46484:1;46473:9;46469:17;46462:47;46526:131;46652:4;46526:131;:::i;:::-;46518:139;;46245:419;;;:::o

Swarm Source

bzz-raw://3b2b2a4a4a9486eaeb7b85ac845c88d3146830a6f45dfe64faf066787abba067,dweb:/ipfs/QmVBqNsnWnPFngWZEF7bhfCzeSYQq4Rbq9ewftJyCBaUUW
[ 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 .