Overview ERC721
Total Supply:
10,000.00 OPS

Holders:
9
Profile Summary
Blockchain:
Base (8453)

Contract Source Code Verified (Partial Match)
Contract Name:
Tomoji

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 20 runs

Created At:
Wed, 03 Apr 2024 03:40:15 GMT
IERC165.sol
@openzeppelin
contracts
interfaces
IERC165.sol


Contract ABI
[
  {
    "inputs": [],
    "stateMutability": "payable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "AlreadyExists",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DecimalsTooLow",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ExceedPresaleDeadline",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InsufficientAllowance",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvaildParam",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidApproval",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidExemption",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidOperator",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidRecipient",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSigner",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidSpender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidTokenId",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MintLimitReached",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotFound",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallByFactoryOrManager",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OwnedIndexOverflow",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "PermitDeadlineExpired",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "PresaleNotFinshed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "QueueEmpty",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "QueueFull",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReachMaxPerMint",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RecipientIsERC721TransferExempt",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "SendETHFailed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "SignatureInvalid",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "SoldOut",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TradingNotEnable",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "Unauthorized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UnsafeRecipient",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "X404SwapV3FactoryMismatch",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ZeroAddress",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "DOMAIN_TYPEHASH",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MINT_TYPEHASH",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "valueOrId_",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "contractURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value_",
        "type": "uint256"
      }
    ],
    "name": "erc20Approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner_",
        "type": "address"
      }
    ],
    "name": "erc20BalanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value_",
        "type": "uint256"
      }
    ],
    "name": "erc20TransferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id_",
        "type": "uint256"
      }
    ],
    "name": "erc721Approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner_",
        "type": "address"
      }
    ],
    "name": "erc721BalanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "target_",
        "type": "address"
      }
    ],
    "name": "erc721TransferExempt",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id_",
        "type": "uint256"
      }
    ],
    "name": "erc721TransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "mintAmount_",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "mint",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "to_",
        "type": "address[]"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "multiTransfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id_",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "erc721Owner",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "preSaleAmountLeft",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "hash",
        "type": "bytes32"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "recover",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "refundErc20Amount",
        "type": "uint256"
      }
    ],
    "name": "refundIfPresaleFailed",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id_",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "id_",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "data_",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator_",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved_",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "exemptAddrs",
        "type": "address[]"
      },
      {
        "internalType": "bool",
        "name": "state",
        "type": "bool"
      }
    ],
    "name": "setERC721TransferExempt",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "state_",
        "type": "bool"
      }
    ],
    "name": "setSelfERC721TransferExempt",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_tokenURI",
        "type": "string"
      }
    ],
    "name": "setTokenURI",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value_",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "valueOrId_",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]


Contract Creation Code
60a06040526004805460ff191660129081179091556200002190600a620010f2565b60055533608081905260408051633c7a11d760e01b81529051633c7a11d7916004808201926020929091908290030181865afa15801562000066573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200008c919062001135565b600f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000336001600160a01b031663890357306040518163ffffffff1660e01b8152600401600060405180830381865afa158015620000f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200011d919081019062001268565b90506200012a81620002cc565b600f546040805163725c9c4960e01b8152815160009384936001600160a01b039091169263725c9c4992600480830193928290030181865afa15801562000175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019b9190620013db565b6001600160a01b038281166000908152600e60205260408082208054600160ff1991821681179092559385168352912080549092161790559092509050620001e3816200044f565b600f546001600160a01b03908116600090815260096020908152604080832094909316825292835281902060001990558051808201825260018152603160f81b9083015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818401527f9cfe62954384006b1d1914df96d3c62de33af8ebd3b5238cdaf7ec3dad78606c818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528251808303909101815260c0909101909152805191012060185550620016259050565b8051601580546001600160a01b0319166001600160a01b0390921691909117905560808101516010556101808101516011906200030a9082620014a8565b50610160810151601690620003209082620014a8565b50606081015160125560a0810151601355610120810151600290620003469082620014a8565b506101408101516003906200035c9082620014a8565b50610100818101516017805461ff0019169115159092021790556015546001600160a01b039081166000908152600e6020526040808220805460ff199081166001908117909255600f54909416835291819020805490931690911790915581015115620003ee576015546005546040830151620003ee926001600160a01b031691620003e89162001574565b620005b1565b600f546005546040830151602084015162000425936001600160a01b0316929162000419916200158e565b620003e8919062001574565b8060400151600282602001516200043d9190620015a4565b6200044991906200158e565b60145550565b6000816001600160a01b0316634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000490573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b6919062001135565b90506000826001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200051f919062001135565b604080516060810182526101f48152610bb860208201526127109181019190915290915060005b6003811015620005aa576000620005798430878686600381106200056e576200056e620015c7565b6020020151620005ec565b6001600160a01b03166000908152600e60205260409020805460ff1916600190811790915591909101905062000546565b5050505050565b6001600160a01b038216620005d957604051634e46966960e11b815260040160405180910390fd5b620005e760008383620006f7565b505050565b6000806000846001600160a01b0316866001600160a01b0316106200061357848662000616565b85855b604080516001600160a01b03808516602083015283169181019190915262ffffff871660608201529193509150879060800160405160208183030381529060405280519060200120604051602001620006d49291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603582015260550190565b60408051601f198184030181529190528051602090910120979650505050505050565b6001600160a01b038381166000908152600860205260408082205492851682528120549091906200072a868686620009af565b6000620007378762000a27565b90506000620007468762000a27565b9050818015620007535750805b620009a1578115620007cf57600060055484620007719190620015a4565b6005546001600160a01b038a16600090815260086020526040902054620007999190620015a4565b620007a591906200158e565b905060005b81811015620007c757620007be8962000a5e565b600101620007aa565b5050620009a1565b80156200084557600554600090620007fc8a6001600160a01b031660009081526008602052604090205490565b620008089190620015a4565b600554620008179087620015a4565b6200082391906200158e565b905060005b81811015620007c7576200083c8a62000b3b565b60010162000828565b600060055487620008579190620015a4565b905060005b81811015620008e9576001600160a01b038a166000908152600d60205260408120546200088c906001906200158e565b6001600160a01b038c166000908152600d602052604081208054929350909183908110620008be57620008be620015c7565b90600052602060002001549050620008de8c8c8362000bd060201b60201c565b50506001016200085c565b5060055481906200090f8b6001600160a01b031660009081526008602052604090205490565b6200091b9190620015a4565b6005546200092a9088620015a4565b6200093691906200158e565b11156200094857620009488962000b3b565b8060055485620009599190620015a4565b6005546001600160a01b038b16600090815260086020526040902054620009819190620015a4565b6200098d91906200158e565b11156200099f576200099f8862000a5e565b505b506001979650505050505050565b60175460ff16158015620009cb57506001600160a01b03821615155b8015620009e057506001600160a01b03831615155b8015620009fb5750600f546001600160a01b03848116911614155b1562000a1a57604051630747b00960e31b815260040160405180910390fd5b620005e783838362000dac565b60006001600160a01b038216158062000a5857506001600160a01b0382166000908152600e602052604090205460ff165b92915050565b6001600160a01b03811662000a8657604051634e46966960e11b815260040160405180910390fd5b600080546001600160801b03808216600160801b909204161462000ab85762000ab0600062000e9b565b905062000af6565b60076000815462000ac990620015dd565b9091555060075460010162000af15760405163303b682f60e01b815260040160405180910390fd5b506007545b6000818152600c60205260409020546001600160a01b0316801562000b2e5760405163119b4fd360e11b815260040160405180910390fd5b620005e781848462000bd0565b6001600160a01b03811662000b6357604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600d60205260408120805462000b8b906001906200158e565b8154811062000b9e5762000b9e620015c7565b9060005260206000200154905062000bbf8260008362000bd060201b60201c565b62000bcc60008262000f0c565b5050565b6001600160a01b0383161562000cea576000818152600a6020908152604080832080546001600160a01b03191690556001600160a01b0386168352600d9091528120805462000c22906001906200158e565b8154811062000c355762000c35620015c7565b9060005260206000200154905081811462000ca8576000828152600c602052604081205460a01c6001600160a01b0386166000908152600d60205260409020805491925083918390811062000c8e5762000c8e620015c7565b60009182526020909120015562000ca6828262000f77565b505b6001600160a01b0384166000908152600d6020526040902080548062000cd25762000cd2620015f9565b60019003818190600052602060002001600090559055505b6001600160a01b0382161562000d67576000818152600c6020908152604080832080546001600160a01b0319166001600160a01b038716908101909155808452600d8352908320805460018181018355828652938520018590559252905462000d6191839162000d5b91906200158e565b62000f77565b62000d77565b6000818152600c60205260408120555b80826001600160a01b0316846001600160a01b031660008051602062003e7883398151915260405160405180910390a4505050565b6001600160a01b03831662000ddb57806006600082825462000dcf91906200160f565b9091555062000e0b9050565b6001600160a01b0383166000908152600860205260408120805483929062000e059084906200158e565b90915550505b6001600160a01b03821662000e3a57806006600082825462000e2e91906200158e565b9091555062000e599050565b6001600160a01b03821660009081526008602052604090208054820190555b816001600160a01b0316836001600160a01b031660008051602062003e788339815191528360405162000e8e91815260200190565b60405180910390a3505050565b80546000906001600160801b03600160801b820481169116810362000ed3576040516375e52f4f60e01b815260040160405180910390fd5b600019016001600160801b039081166000818152600185016020526040812080549190558454909216600160801b909102179092555090565b81546001600160801b038082166000190191600160801b900481169082160362000f4957604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b0316600081815260018401602052604090209190915581546001600160801b031916179055565b6000828152600c60205260409020546001600160601b0382111562000faf57604051633f2cd0e360e21b815260040160405180910390fd5b6000928352600c60205260409092206001600160a01b039290921660a09190911b6001600160a01b031916019055565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620010365781600019048211156200101a576200101a62000fdf565b808516156200102857918102915b93841c939080029062000ffa565b509250929050565b6000826200104f5750600162000a58565b816200105e5750600062000a58565b81600181146200107757600281146200108257620010a2565b600191505062000a58565b60ff84111562001096576200109662000fdf565b50506001821b62000a58565b5060208310610133831016604e8410600b8410161715620010c7575081810a62000a58565b620010d3838362000ff5565b8060001904821115620010ea57620010ea62000fdf565b029392505050565b60006200110360ff8416836200103e565b9392505050565b6001600160a01b03811681146200112057600080fd5b50565b805162001130816200110a565b919050565b6000602082840312156200114857600080fd5b815162001103816200110a565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b038111828210171562001191576200119162001155565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620011c257620011c262001155565b604052919050565b805180151581146200113057600080fd5b600082601f830112620011ed57600080fd5b81516001600160401b0381111562001209576200120962001155565b60206200121f601f8301601f1916820162001197565b82815285828487010111156200123457600080fd5b60005b838110156200125457858101830151828201840152820162001237565b506000928101909101919091529392505050565b6000602082840312156200127b57600080fd5b81516001600160401b03808211156200129357600080fd5b908301906101a08286031215620012a957600080fd5b620012b36200116b565b620012be8362001123565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526200130060c0840162001123565b60c08201526200131360e0840162001123565b60e082015261010062001328818501620011ca565b9082015261012083810151838111156200134157600080fd5b6200134f88828701620011db565b82840152505061014080840151838111156200136a57600080fd5b6200137888828701620011db565b82840152505061016080840151838111156200139357600080fd5b620013a188828701620011db565b8284015250506101808084015183811115620013bc57600080fd5b620013ca88828701620011db565b918301919091525095945050505050565b60008060408385031215620013ef57600080fd5b8251620013fc816200110a565b60208401519092506200140f816200110a565b809150509250929050565b600181811c908216806200142f57607f821691505b6020821081036200145057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005e757600081815260208120601f850160051c810160208610156200147f5750805b601f850160051c820191505b81811015620014a0578281556001016200148b565b505050505050565b81516001600160401b03811115620014c457620014c462001155565b620014dc81620014d584546200141a565b8462001456565b602080601f831160018114620015145760008415620014fb5750858301515b600019600386901b1c1916600185901b178555620014a0565b600085815260208120601f198616915b82811015620015455788860151825594840194600190910190840162001524565b5085821015620015645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808202811582820484141762000a585762000a5862000fdf565b8181038181111562000a585762000a5862000fdf565b600082620015c257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201620015f257620015f262000fdf565b5060010190565b634e487b7160e01b600052603160045260246000fd5b8082018082111562000a585762000a5862000fdf565b6080516128306200164860003960008181610e25015261146e01526128306000f3fe6080604052600436106101af5760003560e01c80638da5cb5b116100e85780638da5cb5b1461045557806395d89b4114610473578063a16a317914610488578063a22cb465146104a8578063a9059cbb146104c8578063b3f37046146104e8578063b3f9ea3414610508578063b88d4fde14610528578063c2bf17b014610548578063c87b56dd14610568578063d96ca0b914610588578063dd62ed3e146105a8578063dd637699146105e0578063dfabc03314610600578063e0df5b6f14610620578063e8a3d48514610640578063e985e9c514610655578063f76fc35e1461069057600080fd5b806301ffc9a7146101b457806302519da3146101e957806306fdde0314610217578063081812fc14610239578063095ea7b31461028757806309f0ef65146102a757806310aec4a6146102c757806318160ddd146102da57806320606b70146102f057806323b872dd14610324578063313ce56714610344578063392664cc1461037057806342842e0e146103905780634d966072146103b25780636352211e146103d257806370a08231146103f257806382df31f71461041f5780638a696e5014610435575b600080fd5b3480156101c057600080fd5b506101d46101cf366004612030565b6106a5565b60405190151581526020015b60405180910390f35b3480156101f557600080fd5b50610209610204366004612062565b6106dc565b6040519081526020016101e0565b34801561022357600080fd5b5061022c6106f7565b6040516101e091906120cf565b34801561024557600080fd5b5061026f6102543660046120e2565b600a602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101e0565b34801561029357600080fd5b506101d46102a23660046120fb565b610785565b3480156102b357600080fd5b506101d46102c2366004612062565b6107be565b6101d46102d5366004612138565b6107f0565b3480156102e657600080fd5b5061020960065481565b3480156102fc57600080fd5b506102097f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561033057600080fd5b506101d461033f366004612173565b610a87565b34801561035057600080fd5b5060045461035e9060ff1681565b60405160ff90911681526020016101e0565b34801561037c57600080fd5b506101d461038b3660046120e2565b610ac4565b34801561039c57600080fd5b506103b06103ab366004612173565b610bd3565b005b3480156103be57600080fd5b506101d46103cd3660046120fb565b610bf3565b3480156103de57600080fd5b5061026f6103ed3660046120e2565b610c80565b3480156103fe57600080fd5b5061020961040d366004612062565b60086020526000908152604090205481565b34801561042b57600080fd5b5061020960145481565b34801561044157600080fd5b506103b06104503660046121c2565b610cdf565b34801561046157600080fd5b506015546001600160a01b031661026f565b34801561047f57600080fd5b5061022c610cec565b34801561049457600080fd5b506101d46104a336600461222a565b610cf9565b3480156104b457600080fd5b506103b06104c3366004612275565b610d53565b3480156104d457600080fd5b506101d46104e33660046120fb565b610de6565b3480156104f457600080fd5b506103b06105033660046122ae565b610e1a565b34801561051457600080fd5b50610209610523366004612062565b610f12565b34801561053457600080fd5b506103b061054336600461231a565b610f2d565b34801561055457600080fd5b506101d4610563366004612138565b611014565b34801561057457600080fd5b5061022c6105833660046120e2565b611137565b34801561059457600080fd5b506101d46105a3366004612173565b61119d565b3480156105b457600080fd5b506102096105c33660046123f9565b600960209081526000928352604080842090915290825290205481565b3480156105ec57600080fd5b506103b06105fb366004612173565b61125d565b34801561060c57600080fd5b506103b061061b3660046120fb565b6113a0565b34801561062c57600080fd5b506103b061063b366004612427565b611463565b34801561064c57600080fd5b5061022c6114d2565b34801561066157600080fd5b506101d46106703660046123f9565b600b60209081526000928352604080842090915290825290205460ff1681565b34801561069c57600080fd5b506102096114df565b60006001600160e01b031982166328f5ddf160e01b14806106d657506001600160e01b031982166301ffc9a760e01b145b92915050565b6001600160a01b031660009081526008602052604090205490565b6002805461070490612498565b80601f016020809104026020016040519081016040528092919081815260200182805461073090612498565b801561077d5780601f106107525761010080835404028352916020019161077d565b820191906000526020600020905b81548152906001019060200180831161076057829003601f168201915b505050505081565b600061079082611507565b156107a45761079f83836113a0565b6107b5565b6107ae8383610bf3565b90506106d6565b50600192915050565b60006001600160a01b03821615806106d65750506001600160a01b03166000908152600e602052604090205460ff1690565b601754600090610100900460ff161561081a57610818610810338761151c565b858585611014565b505b60145460000361083d576040516352df9fe560e01b815260040160405180910390fd5b6013544211156108605760405163df6feb7d60e01b815260040160405180910390fd5b6014548511156108705760145494505b60008560105461088091906124e8565b905085158061088e57508034105b156108ac5760405163aecaf21360e01b815260040160405180910390fd5b6015546001600160a01b0316331461092057601254336000908152601960205260409020546108dc9088906124ff565b11156108fb57604051632ec7b6d760e21b815260040160405180910390fd5b336000908152601960205260408120805488929061091a9084906124ff565b90915550505b85601460008282546109329190612512565b909155505060055460009061094790886124e8565b600f54909150610961906001600160a01b031633836115c3565b50813411156109dc576000336109778434612512565b604051600081818185875af1925050503d80600081146109b3576040519150601f19603f3d011682016040523d82523d6000602084013e6109b8565b606091505b50509050806109da57604051632b3b0c0960e11b815260040160405180910390fd5b505b601454600003610a7a576017805460ff19166001179055600f546001600160a01b031660008181526008602052604090819020549051638891d43d60e01b81523060048201526024810191909152638891d43d90479060440160206040518083038185885af1158015610a53573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a789190612525565b505b5060019695505050505050565b6000610a9282611507565b15610aa757610aa284848461125d565b610ab9565b610ab284848461119d565b9050610abd565b5060015b9392505050565b600080601454118015610ad8575060135442115b15610bb257600060055483610aed9190612542565b905080600003610b105760405163aecaf21360e01b815260040160405180910390fd5b600060105482610b2091906124e8565b9050610b3b33600060055485610b3691906124e8565b6115c3565b15610bab57604051600090339083908381818185875af1925050503d8060008114610b82576040519150601f19603f3d011682016040523d82523d6000602084013e610b87565b606091505b5050905080610ba957604051632b3b0c0960e11b815260040160405180910390fd5b505b5050610bcb565b604051631f01a54f60e11b815260040160405180910390fd5b506001919050565b610bee83838360405180602001604052806000815250610f2d565b505050565b60006001600160a01b038316610c1c57604051635461585f60e01b815260040160405180910390fd5b3360008181526009602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b6000610c8b826117de565b9050610c9682611507565b610cb3576040516307ed98ed60e31b815260040160405180910390fd5b6001600160a01b038116610cda5760405163c5723b5160e01b815260040160405180910390fd5b919050565b610ce933826117f9565b50565b6003805461070490612498565b6000805b83811015610d4857610d35858583818110610d1a57610d1a612564565b9050602002016020810190610d2f9190612062565b84610de6565b5080610d408161257a565b915050610cfd565b506001949350505050565b6001600160a01b038216610d7a5760405163ccea9e6f60e01b815260040160405180910390fd5b336000818152600b602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60006001600160a01b038316610e0f57604051634e46966960e11b815260040160405180910390fd5b610abd3384846115c3565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610e5e5750600f546001600160a01b03163314155b15610e7c57604051631674ce1560e01b815260040160405180910390fd5b60005b82811015610f0c576000848483818110610e9b57610e9b612564565b9050602002016020810190610eb09190612062565b6001600160a01b031603610ed75760405163d92e233d60e01b815260040160405180910390fd5b610f07848483818110610eec57610eec612564565b9050602002016020810190610f019190612062565b836117f9565b610e7f565b50505050565b6001600160a01b03166000908152600d602052604090205490565b610f3682611507565b610f53576040516307ed98ed60e31b815260040160405180910390fd5b610f5e84848461125d565b6001600160a01b0383163b15801590610ff65750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a0290610fa6903390899088908890600401612593565b6020604051808303816000875af1158015610fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe991906125d0565b6001600160e01b03191614155b15610f0c57604051633da6393160e01b815260040160405180910390fd5b6040805160008082526020820180845287905260ff8616928201929092526060810184905260808101839052819060019060a0016020604051602081039080840390855afa15801561106a573d6000803e3d6000fd5b5050506020604051035190506000600f60009054906101000a90046001600160a01b03166001600160a01b031663941ea5a46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef91906125ed565b90506001600160a01b03821615806111195750806001600160a01b0316826001600160a01b031614155b15610a7a576040516337e8456b60e01b815260040160405180910390fd5b60606000611144836117de565b6001600160a01b03160361116b576040516307ed98ed60e31b815260040160405180910390fd5b601661117683611868565b60405160200161118792919061260a565b6040516020818303038152906040529050919050565b60006001600160a01b0384166111c657604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0383166111ed57604051634e46966960e11b815260040160405180910390fd5b6001600160a01b03841660009081526009602090815260408083203384529091529020546000198114611249576112248382612512565b6001600160a01b03861660009081526009602090815260408083203384529091529020555b6112548585856115c3565b95945050505050565b6001600160a01b03831661128457604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0382166112ab57604051634e46966960e11b815260040160405180910390fd5b6112b4816117de565b6001600160a01b0316836001600160a01b0316146112e4576040516282b42960e81b815260040160405180910390fd5b336001600160a01b0384161480159061132157506001600160a01b0383166000908152600b6020908152604080832033845290915290205460ff16155b801561134457506000818152600a60205260409020546001600160a01b03163314155b15611361576040516282b42960e81b815260040160405180910390fd5b61136a826107be565b1561138857604051635ce7539760e01b815260040160405180910390fd5b61139583836005546118fa565b610bee83838361196c565b60006113ab826117de565b9050336001600160a01b038216148015906113ea57506001600160a01b0381166000908152600b6020908152604080832033845290915290205460ff16155b15611407576040516282b42960e81b815260040160405180910390fd5b6000828152600a602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906114a75750600f546001600160a01b03163314155b156114c557604051631674ce1560e01b815260040160405180910390fd5b6016610bee8284836126df565b6011805461070490612498565b6040516020016114ee9061279f565b6040516020818303038152906040528051906020012081565b600060075482111580156106d6575050151590565b60006018546040516020016115309061279f565b60408051601f198184030181528282528051602091820120601554828501919091526001600160a01b03908116848401528716606084015260808084018790528251808503909101815260a08401909252815191012061190160f01b60c083015260c282019290925260e28101919091526101020160405160208183030381529060405280519060200120905092915050565b6000806115cf856106dc565b905060006115dc856106dc565b90506115e98686866118fa565b60006115f4876107be565b90506000611601876107be565b905081801561160d5750805b6117d057811561166c576000600554846116279190612542565b6005546116338a6106dc565b61163d9190612542565b6116479190612512565b905060005b818110156116655761165d89611b44565b60010161164c565b50506117d0565b80156116bf5760006005546116808a6106dc565b61168a9190612542565b6005546116979087612542565b6116a19190612512565b905060005b81811015611665576116b78a611c14565b6001016116a6565b6000600554876116cf9190612542565b905060005b81811015611752576001600160a01b038a166000908152600d602052604081205461170190600190612512565b6001600160a01b038c166000908152600d60205260408120805492935090918390811061173057611730612564565b906000526020600020015490506117488c8c8361196c565b50506001016116d4565b50806005546117608b6106dc565b61176a9190612542565b6005546117779088612542565b6117819190612512565b11156117905761179089611c14565b806005548561179f9190612542565b6005546117ab8b6106dc565b6117b59190612542565b6117bf9190612512565b11156117ce576117ce88611b44565b505b506001979650505050505050565b6000908152600c60205260409020546001600160a01b031690565b6001600160a01b0382166118205760405163a41e3d3f60e01b815260040160405180910390fd5b80156118345761182f82611c99565b61183d565b61183d82611cc2565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b6060600061187583611d0e565b60010190506000816001600160401b0381111561189457611894612304565b6040519080825280601f01601f1916602001820160405280156118be576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846118c857509392505050565b60175460ff1615801561191557506001600160a01b03821615155b801561192957506001600160a01b03831615155b80156119435750600f546001600160a01b03848116911614155b1561196157604051630747b00960e31b815260040160405180910390fd5b610bee838383611de4565b6001600160a01b03831615611a77576000818152600a6020908152604080832080546001600160a01b03191690556001600160a01b0386168352600d909152812080546119bb90600190612512565b815481106119cb576119cb612564565b90600052602060002001549050818114611a38576000828152600c602052604081205460a01c6001600160a01b0386166000908152600d602052604090208054919250839183908110611a2057611a20612564565b600091825260209091200155611a368282611ed9565b505b6001600160a01b0384166000908152600d60205260409020805480611a5f57611a5f6127e4565b60019003818190600052602060002001600090559055505b6001600160a01b03821615611aee576000818152600c6020908152604080832080546001600160a01b0319166001600160a01b038716908101909155808452600d83529083208054600181810183558286529385200185905592529054611ae9918391611ae49190612512565b611ed9565b611afe565b6000818152600c60205260408120555b80826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6001600160a01b038116611b6b57604051634e46966960e11b815260040160405180910390fd5b600080546001600160801b03808216600160801b9092041614611b9957611b926000611f40565b9050611bd4565b600760008154611ba89061257a565b90915550600754600101611bcf5760405163303b682f60e01b815260040160405180910390fd5b506007545b6000611bdf826117de565b90506001600160a01b03811615611c095760405163119b4fd360e11b815260040160405180910390fd5b610bee81848461196c565b6001600160a01b038116611c3b57604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600d602052604081208054611c6190600190612512565b81548110611c7157611c71612564565b90600052602060002001549050611c8a8260008361196c565b611c95600082611fb0565b5050565b6000611ca482610f12565b905060005b81811015610bee57611cba83611c14565b600101611ca9565b6000600554611cd0836106dc565b611cda9190612542565b90506000611ce783610f12565b905060005b611cf68284612512565b811015610f0c57611d0684611b44565b600101611cec565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611d4d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310611d77576904ee2d6d415b85acef8160201b830492506020015b662386f26fc100008310611d9557662386f26fc10000830492506010015b6305f5e1008310611dad576305f5e100830492506008015b6127108310611dc157612710830492506004015b60648310611dd3576064830492506002015b600a83106106d65760010192915050565b6001600160a01b038316611e0f578060066000828254611e0491906124ff565b90915550611e3d9050565b6001600160a01b03831660009081526008602052604081208054839290611e37908490612512565b90915550505b6001600160a01b038216611e68578060066000828254611e5d9190612512565b90915550611e879050565b6001600160a01b03821660009081526008602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ecc91815260200190565b60405180910390a3505050565b6000828152600c60205260409020546001600160601b03821115611f1057604051633f2cd0e360e21b815260040160405180910390fd5b6000928352600c60205260409092206001600160a01b039290921660a09190911b6001600160a01b031916019055565b80546000906001600160801b03600160801b8204811691168103611f77576040516375e52f4f60e01b815260040160405180910390fd5b600019016001600160801b039081166000818152600185016020526040812080549190558454909216600160801b909102179092555090565b81546001600160801b038082166000190191600160801b9004811690821603611fec57604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b0316600081815260018401602052604090209190915581546001600160801b031916179055565b6001600160e01b031981168114610ce957600080fd5b60006020828403121561204257600080fd5b8135610abd8161201a565b6001600160a01b0381168114610ce957600080fd5b60006020828403121561207457600080fd5b8135610abd8161204d565b60005b8381101561209a578181015183820152602001612082565b50506000910152565b600081518084526120bb81602086016020860161207f565b601f01601f19169290920160200192915050565b602081526000610abd60208301846120a3565b6000602082840312156120f457600080fd5b5035919050565b6000806040838503121561210e57600080fd5b82356121198161204d565b946020939093013593505050565b803560ff81168114610cda57600080fd5b6000806000806080858703121561214e57600080fd5b8435935061215e60208601612127565b93969395505050506040820135916060013590565b60008060006060848603121561218857600080fd5b83356121938161204d565b925060208401356121a38161204d565b929592945050506040919091013590565b8015158114610ce957600080fd5b6000602082840312156121d457600080fd5b8135610abd816121b4565b60008083601f8401126121f157600080fd5b5081356001600160401b0381111561220857600080fd5b6020830191508360208260051b850101111561222357600080fd5b9250929050565b60008060006040848603121561223f57600080fd5b83356001600160401b0381111561225557600080fd5b612261868287016121df565b909790965060209590950135949350505050565b6000806040838503121561228857600080fd5b82356122938161204d565b915060208301356122a3816121b4565b809150509250929050565b6000806000604084860312156122c357600080fd5b83356001600160401b038111156122d957600080fd5b6122e5868287016121df565b90945092505060208401356122f9816121b4565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561233057600080fd5b843561233b8161204d565b9350602085013561234b8161204d565b92506040850135915060608501356001600160401b038082111561236e57600080fd5b818701915087601f83011261238257600080fd5b81358181111561239457612394612304565b604051601f8201601f19908116603f011681019083821181831017156123bc576123bc612304565b816040528281528a60208487010111156123d557600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561240c57600080fd5b82356124178161204d565b915060208301356122a38161204d565b6000806020838503121561243a57600080fd5b82356001600160401b038082111561245157600080fd5b818501915085601f83011261246557600080fd5b81358181111561247457600080fd5b86602082850101111561248657600080fd5b60209290920196919550909350505050565b600181811c908216806124ac57607f821691505b6020821081036124cc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106d6576106d66124d2565b808201808211156106d6576106d66124d2565b818103818111156106d6576106d66124d2565b60006020828403121561253757600080fd5b8151610abd816121b4565b60008261255f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006001820161258c5761258c6124d2565b5060010190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906125c6908301846120a3565b9695505050505050565b6000602082840312156125e257600080fd5b8151610abd8161201a565b6000602082840312156125ff57600080fd5b8151610abd8161204d565b600080845461261881612498565b60018281168015612630576001811461264557612674565b60ff1984168752821515830287019450612674565b8860005260208060002060005b8581101561266b5781548a820152908401908201612652565b50505082870194505b50505050835161268881836020880161207f565b01949350505050565b601f821115610bee57600081815260208120601f850160051c810160208610156126b85750805b601f850160051c820191505b818110156126d7578281556001016126c4565b505050505050565b6001600160401b038311156126f6576126f6612304565b61270a836127048354612498565b83612691565b6000601f84116001811461273e57600085156127265750838201355b600019600387901b1c1916600186901b178355612798565b600083815260209020601f19861690835b8281101561276f578685013582556020948501946001909201910161274f565b508682101561278c5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7f4d696e742861646472657373207375626a6563742c616464726573732073656e8152726465722c75696e7432353620616d6f756e742960681b602082015260330190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e46c3202f78016bed8d753d95d94127569c52314c86779f6ef7f67e085f136a364736f6c63430008140033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef