// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
import {ERC721SeaDrop} from "seadrop2/src/ERC721SeaDrop.sol";
interface ICeesRenderer {
function render(uint256 id) external view returns (string memory);
}
contract Cees is ERC721SeaDrop {
ICeesRenderer public immutable renderer;
constructor(
string memory name,
string memory symbol,
address[] memory allowedSeaDrop,
address renderer_
) ERC721SeaDrop(name, symbol, allowedSeaDrop) {
renderer = ICeesRenderer(renderer_);
_maxSupply = 10000;
emit MaxSupplyUpdated(10000);
}
function tokenURI(uint256 tokenId) public view override returns (string memory) {
if (!_exists(tokenId)) revert URIQueryForNonexistentToken();
return renderer.render(tokenId);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"internalType": "string"
},
{
"name": "allowedSeaDrop",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "renderer_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AlreadyInitialized",
"type": "error",
"inputs": []
},
{
"name": "ApprovalCallerNotOwnerNorApproved",
"type": "error",
"inputs": []
},
{
"name": "ApprovalQueryForNonexistentToken",
"type": "error",
"inputs": []
},
{
"name": "BalanceQueryForZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "CannotExceedMaxSupplyOfUint64",
"type": "error",
"inputs": [
{
"name": "newMaxSupply",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "InvalidRoyaltyBasisPoints",
"type": "error",
"inputs": [
{
"name": "basisPoints",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "MintERC2309QuantityExceedsLimit",
"type": "error",
"inputs": []
},
{
"name": "MintQuantityExceedsMaxSupply",
"type": "error",
"inputs": [
{
"name": "total",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxSupply",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "MintToZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "MintZeroQuantity",
"type": "error",
"inputs": []
},
{
"name": "NewMaxSupplyCannotBeLessThenTotalMinted",
"type": "error",
"inputs": [
{
"name": "got",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "totalMinted",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "NewOwnerIsZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "NotNextOwner",
"type": "error",
"inputs": []
},
{
"name": "OnlyAllowedSeaDrop",
"type": "error",
"inputs": []
},
{
"name": "OnlyOwner",
"type": "error",
"inputs": []
},
{
"name": "OwnerQueryForNonexistentToken",
"type": "error",
"inputs": []
},
{
"name": "OwnershipNotInitializedForExtraData",
"type": "error",
"inputs": []
},
{
"name": "ProvenanceHashCannotBeSetAfterMintStarted",
"type": "error",
"inputs": []
},
{
"name": "RoyaltyAddressCannotBeZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "SameTransferValidator",
"type": "error",
"inputs": []
},
{
"name": "SignersMismatch",
"type": "error",
"inputs": []
},
{
"name": "TokenGatedMismatch",
"type": "error",
"inputs": []
},
{
"name": "TransferCallerNotOwnerNorApproved",
"type": "error",
"inputs": []
},
{
"name": "TransferFromIncorrectOwner",
"type": "error",
"inputs": []
},
{
"name": "TransferToNonERC721ReceiverImplementer",
"type": "error",
"inputs": []
},
{
"name": "TransferToZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "URIQueryForNonexistentToken",
"type": "error",
"inputs": []
},
{
"name": "AllowedSeaDropUpdated",
"type": "event",
"inputs": [
{
"name": "allowedSeaDrop",
"type": "address[]",
"indexed": false,
"internalType": "address[]"
}
],
"anonymous": false
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "ApprovalForAll",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "BatchMetadataUpdate",
"type": "event",
"inputs": [
{
"name": "_fromTokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "_toTokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "ConsecutiveTransfer",
"type": "event",
"inputs": [
{
"name": "fromTokenId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "toTokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "ContractURIUpdated",
"type": "event",
"inputs": [
{
"name": "newContractURI",
"type": "string",
"indexed": false,
"internalType": "string"
}
],
"anonymous": false
},
{
"name": "MaxSupplyUpdated",
"type": "event",
"inputs": [
{
"name": "newMaxSupply",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "PotentialOwnerUpdated",
"type": "event",
"inputs": [
{
"name": "newPotentialAdministrator",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "ProvenanceHashUpdated",
"type": "event",
"inputs": [
{
"name": "previousHash",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
},
{
"name": "newHash",
"type": "bytes32",
"indexed": false,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"name": "RoyaltyInfoUpdated",
"type": "event",
"inputs": [
{
"name": "receiver",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "bps",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "SeaDropTokenDeployed",
"type": "event",
"inputs": [],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "TransferValidatorUpdated",
"type": "event",
"inputs": [
{
"name": "oldValidator",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "newValidator",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "acceptOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "baseURI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "burn",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "cancelOwnershipTransfer",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "contractURI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "emitBatchMetadataUpdate",
"type": "function",
"inputs": [
{
"name": "fromTokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "toTokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "getApproved",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "getMintStats",
"type": "function",
"inputs": [
{
"name": "minter",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "minterNumMinted",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "currentTotalSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxSupply",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getTransferValidationFunction",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "functionSignature",
"type": "bytes4",
"internalType": "bytes4"
},
{
"name": "isViewFunction",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "pure"
},
{
"name": "getTransferValidator",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "isApprovedForAll",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "maxSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "mintSeaDrop",
"type": "function",
"inputs": [
{
"name": "minter",
"type": "address",
"internalType": "address"
},
{
"name": "quantity",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "multiConfigure",
"type": "function",
"inputs": [
{
"name": "config",
"type": "tuple",
"components": [
{
"name": "maxSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "baseURI",
"type": "string",
"internalType": "string"
},
{
"name": "contractURI",
"type": "string",
"internalType": "string"
},
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "publicDrop",
"type": "tuple",
"components": [
{
"name": "mintPrice",
"type": "uint80",
"internalType": "uint80"
},
{
"name": "startTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "endTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "maxTotalMintableByWallet",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "restrictFeeRecipients",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct PublicDrop"
},
{
"name": "dropURI",
"type": "string",
"internalType": "string"
},
{
"name": "allowListData",
"type": "tuple",
"components": [
{
"name": "merkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "publicKeyURIs",
"type": "string[]",
"internalType": "string[]"
},
{
"name": "allowListURI",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct AllowListData"
},
{
"name": "creatorPayoutAddress",
"type": "address",
"internalType": "address"
},
{
"name": "provenanceHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "allowedFeeRecipients",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "disallowedFeeRecipients",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "allowedPayers",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "disallowedPayers",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "tokenGatedAllowedNftTokens",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "tokenGatedDropStages",
"type": "tuple[]",
"components": [
{
"name": "mintPrice",
"type": "uint80",
"internalType": "uint80"
},
{
"name": "maxTotalMintableByWallet",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "startTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "endTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "dropStageIndex",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "maxTokenSupplyForStage",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "restrictFeeRecipients",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct TokenGatedDropStage[]"
},
{
"name": "disallowedTokenGatedAllowedNftTokens",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "signers",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "signedMintValidationParams",
"type": "tuple[]",
"components": [
{
"name": "minMintPrice",
"type": "uint80",
"internalType": "uint80"
},
{
"name": "maxMaxTotalMintableByWallet",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "minStartTime",
"type": "uint40",
"internalType": "uint40"
},
{
"name": "maxEndTime",
"type": "uint40",
"internalType": "uint40"
},
{
"name": "maxMaxTokenSupplyForStage",
"type": "uint40",
"internalType": "uint40"
},
{
"name": "minFeeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxFeeBps",
"type": "uint16",
"internalType": "uint16"
}
],
"internalType": "struct SignedMintValidationParams[]"
},
{
"name": "disallowedSigners",
"type": "address[]",
"internalType": "address[]"
}
],
"internalType": "struct ERC721SeaDropStructsErrorsAndEvents.MultiConfigureStruct"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "ownerOf",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "provenanceHash",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "renderer",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ICeesRenderer"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "royaltyAddress",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "royaltyBasisPoints",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "royaltyInfo",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_salePrice",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
},
{
"name": "royaltyAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "safeTransferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "safeTransferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setApprovalForAll",
"type": "function",
"inputs": [
{
"name": "operator",
"type": "address",
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setBaseURI",
"type": "function",
"inputs": [
{
"name": "newBaseURI",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setContractURI",
"type": "function",
"inputs": [
{
"name": "newContractURI",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setMaxSupply",
"type": "function",
"inputs": [
{
"name": "newMaxSupply",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setProvenanceHash",
"type": "function",
"inputs": [
{
"name": "newProvenanceHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setRoyaltyInfo",
"type": "function",
"inputs": [
{
"name": "newInfo",
"type": "tuple",
"components": [
{
"name": "royaltyAddress",
"type": "address",
"internalType": "address"
},
{
"name": "royaltyBps",
"type": "uint96",
"internalType": "uint96"
}
],
"internalType": "struct ISeaDropTokenContractMetadata.RoyaltyInfo"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setTransferValidator",
"type": "function",
"inputs": [
{
"name": "newValidator",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "supportsInterface",
"type": "function",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "tokenURI",
"type": "function",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newPotentialOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateAllowList",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "allowListData",
"type": "tuple",
"components": [
{
"name": "merkleRoot",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "publicKeyURIs",
"type": "string[]",
"internalType": "string[]"
},
{
"name": "allowListURI",
"type": "string",
"internalType": "string"
}
],
"internalType": "struct AllowListData"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateAllowedFeeRecipient",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "feeRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "allowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateAllowedSeaDrop",
"type": "function",
"inputs": [
{
"name": "allowedSeaDrop",
"type": "address[]",
"internalType": "address[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateCreatorPayoutAddress",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "payoutAddress",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateDropURI",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "dropURI",
"type": "string",
"internalType": "string"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updatePayer",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "payer",
"type": "address",
"internalType": "address"
},
{
"name": "allowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updatePublicDrop",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "publicDrop",
"type": "tuple",
"components": [
{
"name": "mintPrice",
"type": "uint80",
"internalType": "uint80"
},
{
"name": "startTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "endTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "maxTotalMintableByWallet",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "restrictFeeRecipients",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct PublicDrop"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateSignedMintValidationParams",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "signer",
"type": "address",
"internalType": "address"
},
{
"name": "signedMintValidationParams",
"type": "tuple",
"components": [
{
"name": "minMintPrice",
"type": "uint80",
"internalType": "uint80"
},
{
"name": "maxMaxTotalMintableByWallet",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "minStartTime",
"type": "uint40",
"internalType": "uint40"
},
{
"name": "maxEndTime",
"type": "uint40",
"internalType": "uint40"
},
{
"name": "maxMaxTokenSupplyForStage",
"type": "uint40",
"internalType": "uint40"
},
{
"name": "minFeeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "maxFeeBps",
"type": "uint16",
"internalType": "uint16"
}
],
"internalType": "struct SignedMintValidationParams"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "updateTokenGatedDrop",
"type": "function",
"inputs": [
{
"name": "seaDropImpl",
"type": "address",
"internalType": "address"
},
{
"name": "allowedNftToken",
"type": "address",
"internalType": "address"
},
{
"name": "dropStage",
"type": "tuple",
"components": [
{
"name": "mintPrice",
"type": "uint80",
"internalType": "uint80"
},
{
"name": "maxTotalMintableByWallet",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "startTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "endTime",
"type": "uint48",
"internalType": "uint48"
},
{
"name": "dropStageIndex",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "maxTokenSupplyForStage",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "feeBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "restrictFeeRecipients",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct TokenGatedDropStage"
}
],
"outputs": [],
"stateMutability": "nonpayable"
}
]0x604060a0815234620005095762005b43803803806200001e816200050e565b928339810190608081830312620005095780516001600160401b0392908381116200050957816200005191840162000534565b602093848401518181116200050957836200006e91860162000534565b93868101518281116200050957810190601f8581840112156200050957825191848311620002f95760059683881b948a620000ab8188016200050e565b8096815201908b829782010192831162000509578b809101915b838310620004ee57505050506060620000df9101620005a6565b968551858111620002f9576002546001978882811c92168015620004e3575b8c8310146200041757818c8b8780879611620004b0575b505050508b90858311600114620004445760009262000438575b5050600019600383901b1c191690871b176002555b805190858211620002f9576003928354918883811c931680156200042d575b8c8410146200041757828c8b8480889711620003da575b505050508b918311600114620003735760009262000367575b505060001982841b1c191690861b1790555b83600055303b620003575760098054336001600160a01b0319821681179092556001600160a01b0396919087167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a38460105581519060005b8281106200030f5750505051918211620002f957680100000000000000008211620002f95760125482601255808310620002d8575b5060126000528560002060005b838110620002c457887f7810bd47de260c3e9ee10061cf438099dd12256c79485f12f94dbccc981e806c8989898451917fd7aca75208b9be5ffc04c6a01922020ffd62b55e68e502e317f5344960279af8600080a11660805261271080600b558152a15161556e9081620005d582396080518181816125920152613abd0152f35b825186168282015591870191840162000243565b620002f290601260005283886000209182019101620005bb565b3862000236565b634e487b7160e01b600052604160045260246000fd5b8351811015620003415780888b8993851b870101511660005260118b528b6000208260ff198254161790550162000201565b634e487b7160e01b600052603260045260246000fd5b875162dc149f60e41b8152600490fd5b01519050388062000193565b60008581528c81208a9550929190601f198516908e5b828210620003c25750508411620003a9575b505050811b019055620001a5565b015160001983861b60f8161c191690553880806200039b565b8385015186558c979095019493840193018e62000389565b6200040393896000528360002092828901901c83019388106200040d575b018d1c0190620005bb565b388c8b846200017a565b92508192620003f8565b634e487b7160e01b600052602260045260246000fd5b92607f169262000163565b0151905038806200012f565b899350908c91601f198416600260005283600020936000905b8282106200049857505084116200047e575b505050811b0160025562000144565b015160001960f88460031b161c191690553880806200046f565b8385015186558d979095019493840193018f6200045d565b620004d99360026000528360002092828801901c83019387106200040d57018d1c0190620005bb565b388c8b8762000115565b91607f1691620000fe565b8190620004fb84620005a6565b8152019101908b90620000c5565b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620002f957604052565b919080601f84011215620005095782516001600160401b038111620002f9576020906200056a601f8201601f191683016200050e565b92818452828287010111620005095760005b8181106200059257508260009394955001015290565b85810183015184820184015282016200057c565b51906001600160a01b03821682036200050957565b818110620005c7575050565b60008155600101620005bb56fe60806040526004361015610013575b600080fd5b60003560e01c806301ffc9a7146103e757806306fdde03146103de578063081812fc146103d5578063095ea7b3146103cc578063098144d4146103c3578063099b6bfa146103ba5780630d705df6146103b157806318160ddd146103a85780631b73593c1461039f57806323452b9c1461039657806323b872dd1461038d5780632a55205a146103845780633680620d1461037b57806342260b5d1461037257806342842e0e1461036957806342966c681461036057806344dae42c1461035757806348a4c1011461034e578063511aa6441461034557806355f804b31461033c57806360c308b6146103335780636352211e1461032a57806364869dad1461032157806366251b69146103185780636c0360eb1461030f5780636f8b44b01461030657806370a08231146102fd578063715018a6146102f457806379ba5097146102eb5780637a05bc82146102e25780637bc2be76146102d9578063840e15d4146102d05780638ada6b0f146102c75780638da5cb5b146102be578063911f456b146102b5578063938e3d7b146102ac57806395d89b41146102a3578063a22cb4651461029a578063a483011414610291578063a9fc664e14610288578063ad2f852a1461027f578063b88d4fde14610276578063c6ab67a31461026d578063c87b56dd14610264578063cb743ba81461025b578063d5abeb0114610252578063e8a3d48514610249578063e985e9c5146102405763f2fde38b1461023857600080fd5b61000e613d1b565b5061000e613cf7565b5061000e613c31565b5061000e613bf4565b5061000e613b54565b5061000e613a2f565b5061000e6139f2565b5061000e613942565b5061000e6138a6565b5061000e613794565b5061000e613720565b5061000e61362e565b5061000e613568565b5061000e6133bd565b5061000e612609565b5061000e6125b6565b5061000e612546565b5061000e61249c565b5061000e6123b1565b5061000e6122df565b5061000e6121dd565b5061000e61213d565b5061000e612099565b5061000e611f83565b5061000e611ebd565b5061000e611e33565b5061000e611af1565b5061000e611a96565b5061000e6118c3565b5061000e6116f2565b5061000e611595565b5061000e611348565b5061000e61115c565b5061000e610f47565b5061000e610f1e565b5061000e610ede565b5061000e610dee565b5061000e610d6c565b5061000e610d52565b5061000e610c7a565b5061000e610b7b565b5061000e610b17565b5061000e610ab7565b5061000e6109f0565b5061000e61099d565b5061000e61089c565b5061000e6107e5565b5061000e6106c7565b5061000e61041a565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361000e57565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576104c07fffffffff0000000000000000000000000000000000000000000000000000000060043561047a816103f0565b167f1890fe8e000000000000000000000000000000000000000000000000000000008114908115610618575b81156104c4575b5060405190151581529081906020820190565b0390f35b7f2a55205a000000000000000000000000000000000000000000000000000000008114915081156105ee575b81156105c4575b811561059a575b811561050c575b50386104ad565b7f01ffc9a700000000000000000000000000000000000000000000000000000000811491508115610570575b8115610546575b5038610505565b7f5b5e139f000000000000000000000000000000000000000000000000000000009150143861053f565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150610538565b7f4906490600000000000000000000000000000000000000000000000000000000811491506104fe565b7fa07d229a00000000000000000000000000000000000000000000000000000000811491506104f7565b7fad0d7f6c00000000000000000000000000000000000000000000000000000000811491506104f0565b7f9c15441500000000000000000000000000000000000000000000000000000000811491506104a6565b600091031261000e57565b60005b8381106106605750506000910152565b8181015183820152602001610650565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936106ac8151809281875287808801910161064d565b0116010190565b9060206106c4928181520190610670565b90565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257604051908060025461070981613dfc565b8085529160019180831690811561079a575060011461073f575b6104c08561073381870382611471565b604051918291826106b3565b9250600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b828410610782575050508101602001610733826104c0610723565b80546020858701810191909152909301928101610767565b8695506104c0969350602092506107339491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b8201019293610723565b80fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561082181613f16565b15610854576000526006602052602073ffffffffffffffffffffffffffffffffffffffff60406000205416604051908152f35b60046040517fcf4700e4000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356108d88161087e565b60243573ffffffffffffffffffffffffffffffffffffffff91826108fb83613e4f565b16803303610965575b600093838552600660205260408520921691827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b61096f338261549d565b6109045760046040517fcfb3b942000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff60085416604051908152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435610a2b6145ca565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005401610a8d5760407f7c22004198bf87da0f0dab623c72e66ca1200f4454aa3b9ca30f436275428b7c91600e549080600e5582519182526020820152a1005b60046040517fe03264af000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260006020820152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600054600154900301604051908152f35b503461000e57600060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e25780600435610bba8161087e565b60c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610c775773ffffffffffffffffffffffffffffffffffffffff90610c026145ca565b610c0b816149ff565b16803b15610c7757819060c4604051809481937f01308e65000000000000000000000000000000000000000000000000000000008352610c4d60048401614a78565b5af18015610c6a575b610c5e575080f35b610c6790611418565b80f35b610c726142a3565b610c56565b50fd5b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257610cb3615517565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600a5416600a557f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da6020604051838152a180f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261000e57600435610d3e8161087e565b90602435610d4b8161087e565b9060443590565b503461000e57610d6a610d6436610d08565b91613f6a565b005b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576040602435612710600f54918260a01c90818102918183041490151715610de1575b73ffffffffffffffffffffffffffffffffffffffff845193168352046020820152f35b610de9614565565b610dbe565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604081360112610c7757600435610e2e8161087e565b6024359167ffffffffffffffff8311610ed9576060908336030112610ed55773ffffffffffffffffffffffffffffffffffffffff90610e6b6145ca565b610e74816149ff565b1690813b15610ed5578291610ec3916040519485809481937febb4a55f000000000000000000000000000000000000000000000000000000008352602060048401526024830190600401614b47565b03925af18015610c6a57610c5e575080f35b5050fd5b505050fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020600f5460a01c604051908152f35b503461000e57610d6a610f3036610d08565b9060405192610f3e84611455565b600084526141bd565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435610f8381613e4f565b73ffffffffffffffffffffffffffffffffffffffff8116610fb1836000526006602052604060002090815490565b9290610fdd73ffffffffffffffffffffffffffffffffffffffff841633908114908614171590565b1590565b611120575b600093610fef8685614703565b611117575b5061101f8273ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b6fffffffffffffffffffffffffffffffff81540190557c03000000000000000000000000000000000000000000000000000000004260a01b83171761106e856000526004602052604060002090565b557c02000000000000000000000000000000000000000000000000000000008116156110ce575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4610d6a6110c960015460010190565b600155565b600184016110e6816000526004602052604060002090565b54156110f3575b50611095565b835481146110ed5761110f906000526004602052604060002090565b5538806110ed565b83905538610ff4565b61112d610fd9338561549d565b15610fe25760046040517f59c896be000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576111946145ca565b73ffffffffffffffffffffffffffffffffffffffff6111b161466b565b161561129f576127106bffffffffffffffffffffffff6111cf614681565b161161124b576111dd61469c565b7ff21fccf4d64d86d532c4e4eb86c007b6ad57a460c27d724188625e755ec6cf6d61120661466b565b61120e614681565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152819081015b0390a1005b61129b611256614681565b6040517f3cadbafb0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201529081906024820190565b0390fd5b60046040517f1cc0baef000000000000000000000000000000000000000000000000000000008152fd5b60c43590811515820361000e57565b6101243590811515820361000e57565b3590811515820361000e57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261000e5760043561132b8161087e565b906024356113388161087e565b90604435801515810361000e5790565b503461000e5773ffffffffffffffffffffffffffffffffffffffff61136c366112f5565b916113789391936145ca565b611381816149ff565b1690813b1561000e576040517f8e7d1e4300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015215156024830152600091908290829081838160448101610ec3565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161142c57604052565b6114346113e8565b604052565b60e0810190811067ffffffffffffffff82111761142c57604052565b6020810190811067ffffffffffffffff82111761142c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761142c57604052565b6044359069ffffffffffffffffffff8216820361000e57565b359069ffffffffffffffffffff8216820361000e57565b6064359062ffffff8216820361000e57565b359062ffffff8216820361000e57565b6084359064ffffffffff8216820361000e57565b60a4359064ffffffffff8216820361000e57565b60c4359064ffffffffff8216820361000e57565b359064ffffffffff8216820361000e57565b60e4359061ffff8216820361000e57565b610104359061ffff8216820361000e57565b60a4359061ffff8216820361000e57565b359061ffff8216820361000e57565b503461000e576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356115d28161087e565b602435906115df8261087e565b60e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36011261000e57610d6a916040519161161a83611439565b6116226114b2565b835261162c6114e2565b6020840152611639611504565b6040840152611646611518565b606084015261165361152c565b6080840152611660611552565b60a084015261166d611563565b60c0840152614d3b565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261000e576004359067ffffffffffffffff821161000e576116ee91600401611677565b9091565b503461000e57611701366116a5565b6117096145ca565b67ffffffffffffffff81116118b6575b61172d81611728600c54613dfc565b6144ac565b6000601f82116001146117f95781926000926117ee575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600c555b60005460015490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016117a757005b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c6112466117d6600054614595565b60405191829182919060206040840193600181520152565b013590503880611744565b600c6000527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216927fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c791805b85811061189e57508360019510611866575b505050811b01600c55611777565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611858565b90926020600181928686013581550194019101611846565b6118be6113e8565b611719565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff80821161000e573660238301121561000e57816004013590811161000e576024820191602436918360051b01011161000e57611939615517565b601280549060005b828110611a045750505060005b818110611991575081611982827fbbd3b69c138de4d317d0bc4290282c4e1cbd1e58b579a5b4f114b598c237454d946148d2565b611246604051928392836149a4565b806119fe6119d36119ad6119a860019587896148b4565b614677565b73ffffffffffffffffffffffffffffffffffffffff166000526011602052604060002090565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b0161194e565b6001908254811015611a89575b82600052611a83611a5b6119ad837fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444015473ffffffffffffffffffffffffffffffffffffffff1690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055565b01611941565b611a91614884565b611a11565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff611ae8600435613e4f565b16604051908152f35b503461000e576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600490813591611b318361087e565b602435916001938460105403611d93576002601055611b4f336149ff565b600094855491858301957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8088018091860111611d86575b600b54808211611d49575050845193611b9f85611455565b8885528115611d2157611bd28373ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b680100000000000000018302815401905588848073ffffffffffffffffffffffffffffffffffffffff86169381861460e11b4260a01b178517611c1f826000526004602052604060002090565b5580857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95868180a4015b8a8103611d125750505015611cea57868855813b611c6e575b87610c676001601055565b86039180805b611c93575b505050505050508154036107e25738808080808080611c63565b15611cdd575b87611cab610fd98684870196866142e0565b611cb55781611c74565b8686517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b868310611c995780611c79565b8585517f2e076300000000000000000000000000000000000000000000000000000000008152fd5b80848d858180a4018590611c4a565b8686517fb562e8dd000000000000000000000000000000000000000000000000000000008152fd5b86517fe12d231400000000000000000000000000000000000000000000000000000000815280890192835260208301919091529081906040010390fd5b611d8e614565565b611b87565b60648360208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604091011261000e57600435611e268161087e565b906024356106c48161087e565b503461000e57611e4236611df0565b611e4a6145ca565b611e53826149ff565b73ffffffffffffffffffffffffffffffffffffffff80921691823b1561000e57602491604051928380927f12738db8000000000000000000000000000000000000000000000000000000008252600096879586921660048401525af18015610c6a57610c5e575080f35b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e2576040519080600c54611eff81613dfc565b8085529160019180831690811561079a5750600114611f28576104c08561073381870382611471565b9250600c83527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b828410611f6b575050508101602001610733826104c0610723565b80546020858701810191909152909301928101611f50565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435611fbe6145ca565b67ffffffffffffffff8111612068577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000540180821061203057600b8290556040518281527f7810bd47de260c3e9ee10061cf438099dd12256c79485f12f94dbccc981e806c908060208101611246565b6040517f8c19f1f900000000000000000000000000000000000000000000000000000000815260048101929092526024820152604490fd5b602490604051907fb43e91370000000000000000000000000000000000000000000000000000000082526004820152fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5773ffffffffffffffffffffffffffffffffffffffff6004356120ea8161087e565b168015612113576000526005602052602067ffffffffffffffff60406000205416604051908152f35b60046040517f8f4eb604000000000000000000000000000000000000000000000000000000008152fd5b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257612176615517565b8073ffffffffffffffffffffffffffffffffffffffff6009547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257600a5473ffffffffffffffffffffffffffffffffffffffff808216918233036122b5577fffffffffffffffffffffffff0000000000000000000000000000000000000000809116600a557f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da6020604051868152a18260095491821617600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517fd6eb09ce000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e25760043561231d8161087e565b8160243567ffffffffffffffff81116123ad5761235373ffffffffffffffffffffffffffffffffffffffff913690600401611677565b91909361235e6145ca565b612367816149ff565b16803b156123a957610ec393836040518096819582947fb957d0cb0000000000000000000000000000000000000000000000000000000084526004840161465a565b8280fd5b5080fd5b503461000e5760006101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e2576004356123f08161087e565b81602435916123fe8361087e565b6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126123ad576124316145ca565b61243a816149ff565b73ffffffffffffffffffffffffffffffffffffffff80911692833b156123a957610124908360405195869485937ffd9ab22a000000000000000000000000000000000000000000000000000000008552166004840152610c4d60248401614c89565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5773ffffffffffffffffffffffffffffffffffffffff6004356124ed8161087e565b166000526005602052606067ffffffffffffffff60406000205460401c167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005401600b549060405192835260208301526040820152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff60095416604051908152f35b503461000e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261000e57600480359067ffffffffffffffff821161000e5761030082820193833603011261000e57612666615517565b82358061334d575b506024820161267d8185614e1f565b90506132cf575b50604482016126938185614e1f565b9050613251575b5065ffffffffffff6126ae60a48401614e70565b16151592600180946126d06126c560c48701614e70565b65ffffffffffff1690565b151517146131c9575b61014483016126e88183614e1f565b905061313f575b5061016483016126ff8183614f47565b356130b5575b50610184830173ffffffffffffffffffffffffffffffffffffffff61272982614677565b16613010575b506101a483013580612fa0575b506101c4830161274c8183614fa7565b9050612eb5575b506101e483016127638183614fa7565b9050612dc3575b50610204830161277a8183614fa7565b9050612cd8575b5061022483016127918183614fa7565b9050612be6575b5061026483016127a88183614ffb565b9050612abe575b5061028483016127bf8183614fa7565b90506129ee575b506102c483016127d68183615273565b90506128c6575b506102e48301906127ee8282614fa7565b90506127f657005b60009360640191855b61280557005b61280f8183614fa7565b9050851015610d6a576128206153b0565b61282984614677565b956128416119a88261283b8688614fa7565b906148b4565b91303b1561000e576000899893899461288660405194859384937f511aa6440000000000000000000000000000000000000000000000000000000085528d8501615407565b038183305af180156128b9575b6128a0575b5001946127ff565b806128ad6128b392611418565b80610642565b38612898565b6128c16142a3565b612893565b6128d08183615273565b6102a4860191506128e18285614fa7565b919050036129c55760009160648601875b6128ff575b5050506127dd565b6129098286615273565b90508410156129c05761291b81614677565b61292c6119a88661283b878a614fa7565b946129418161293b868a615273565b906152c7565b95303b1561000e5760008b97938a6129868a9660405195869485947f511aa64400000000000000000000000000000000000000000000000000000000865285016152e4565b038183305af180156129b3575b6129a0575b5001936128f2565b806128ad6129ad92611418565b38612998565b6129bb6142a3565b612993565b6128f7565b836040517f74ef6df7000000000000000000000000000000000000000000000000000000008152fd5b8460009160648601915b612a04575b50506127c6565b612a0e8185614fa7565b9050831015612ab957612a1f615162565b92612a2983614677565b90612a3b6119a88261283b868a614fa7565b303b1561000e5760008a969389612a7f899660405195869485947f7bc2be7600000000000000000000000000000000000000000000000000000000865285016151c0565b038183305af18015612aac575b612a99575b5001926129f8565b806128ad612aa692611418565b38612a91565b612ab46142a3565b612a8c565b6129fd565b612ac88183614ffb565b61024486019150612ad98285614fa7565b91905003612bbd5760009160648601875b612af7575b5050506127af565b612b018286614ffb565b9050841015612bb857612b1381614677565b612b246119a88661283b878a614fa7565b94612b3981612b33868a614ffb565b9061504f565b95303b1561000e5760008b97938a612b7e8a9660405195869485947f7bc2be76000000000000000000000000000000000000000000000000000000008652850161506d565b038183305af18015612bab575b612b98575b500193612aea565b806128ad612ba592611418565b38612b90565b612bb36142a3565b612b8b565b612aef565b836040517fb81aa639000000000000000000000000000000000000000000000000000000008152fd5b60009060648501865b612bfb575b5050612798565b612c058285614fa7565b9050831015612cd357612c1781614677565b612c286119a88561283b8689614fa7565b93303b1561000e57612c9960008a96879460405193849283927fcb743ba80000000000000000000000000000000000000000000000000000000084528d8401604090600092949394606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b038183305af18015612cc6575b612cb3575b500192612bef565b806128ad612cc092611418565b38612cab565b612cce6142a3565b612ca6565b612bf4565b60009060648501865b612ced575b5050612781565b612cf78285614fa7565b9050831015612dbe57612d0981614677565b612d1a6119a88561283b8689614fa7565b93303b1561000e57604080517fcb743ba800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384168982019081529390961660208401526001908301528894859260009082908190606001038183305af18015612db1575b612d9e575b500192612ce1565b806128ad612dab92611418565b38612d96565b612db96142a3565b612d91565b612ce6565b60009060648501865b612dd8575b505061276a565b612de28285614fa7565b9050831015612eb057612df481614677565b612e056119a88561283b8689614fa7565b93303b1561000e57612e7660008a96879460405193849283927f48a4c1010000000000000000000000000000000000000000000000000000000084528d8401604090600092949394606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b038183305af18015612ea3575b612e90575b500192612dcc565b806128ad612e9d92611418565b38612e88565b612eab6142a3565b612e83565b612dd1565b60009060648501865b612eca575b5050612753565b612ed48285614fa7565b9050831015612f9b57612ee681614677565b612ef76119a88561283b8689614fa7565b93303b1561000e57604080517f48a4c10100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384168982019081529390961660208401526001908301528894859260009082908190606001038183305af18015612f8e575b612f7b575b500192612ebe565b806128ad612f8892611418565b38612f73565b612f966142a3565b612f6e565b612ec3565b303b1561000e576040517f099b6bfa0000000000000000000000000000000000000000000000000000000081528381019182529060009082908190602001038183305af18015613003575b1561273c57806128ad612ffd92611418565b3861273c565b61300b6142a3565b612feb565b61302561301f60648601614677565b91614677565b90303b1561000e57604080517f66251b6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283168682019081529290931660208301526000918391829101038183305af180156130a8575b1561272f57806128ad6130a292611418565b3861272f565b6130b06142a3565b613090565b6130cb6130c460648601614677565b9183614f47565b90303b1561000e5761310d9160009160405193849283927f3680620d000000000000000000000000000000000000000000000000000000008452888401614f7a565b038183305af18015613132575b1561270557806128ad61312c92611418565b38612705565b61313a6142a3565b61311a565b61315561314e60648601614677565b9183614e1f565b9190303b1561000e5760009161319760405194859384937f7a05bc82000000000000000000000000000000000000000000000000000000008552898501614f1a565b038183305af180156131bc575b156126ef57806128ad6131b692611418565b386126ef565b6131c46142a3565b6131a4565b6131d560648401614677565b303b1561000e57600061321991604051809381927f1b73593c0000000000000000000000000000000000000000000000000000000083526084890190888401614e7a565b038183305af18015613244575b613231575b506126d9565b806128ad61323e92611418565b3861322b565b61324c6142a3565b613226565b61325b9084614e1f565b90303b1561000e5761329d9160009160405193849283927f938e3d7b00000000000000000000000000000000000000000000000000000000845287840161465a565b038183305af180156132c2575b1561269a57806128ad6132bc92611418565b3861269a565b6132ca6142a3565b6132aa565b6132d99084614e1f565b90303b1561000e5761331b9160009160405193849283927f55f804b300000000000000000000000000000000000000000000000000000000845287840161465a565b038183305af18015613340575b1561268457806128ad61333a92611418565b38612684565b6133486142a3565b613328565b303b1561000e576040517f6f8b44b00000000000000000000000000000000000000000000000000000000081528281019182529060009082908190602001038183305af180156133b0575b1561266e57806128ad6133aa92611418565b3861266e565b6133b86142a3565b613398565b503461000e576133cc366116a5565b6133d46145ca565b67ffffffffffffffff811161355b575b6133f8816133f3600d54613dfc565b61450f565b600091601f821160011461347e57817f905d981207a7d0b6c62cc46ab0be2a076d0298e4a86d0ab79882dbd01ac3737893600091613473575b508260011b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8460031b1c191617600d555b6112466040519283928361465a565b905081013538613431565b600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316845b818110613543575093837f905d981207a7d0b6c62cc46ab0be2a076d0298e4a86d0ab79882dbd01ac37378951061350b575b5050600182811b01600d55613464565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c199083013516905538806134fb565b838601358355602095860195600190930192016134c9565b6135636113e8565b6133e4565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e25760405190806003546135aa81613dfc565b8085529160019180831690811561079a57506001146135d3576104c08561073381870382611471565b9250600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410613616575050508101602001610733826104c0610723565b805460208587018101919091529093019281016135fb565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561366a8161087e565b6024359081151580920361000e5773ffffffffffffffffffffffffffffffffffffffff903360005260076020526136c58160406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576137586145ca565b60408051600435815260243560208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9181908101611246565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356137d08161087e565b6137d8615517565b6008549073ffffffffffffffffffffffffffffffffffffffff80831690821680821461387c577fffffffffffffffffffffffff00000000000000000000000000000000000000007fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9416176008556112466040519283928390602090939293604083019473ffffffffffffffffffffffffffffffffffffffff809216845216910152565b60046040517f4a3bb19e000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff600f5416604051908152f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111613935575b01160190565b61393d6113e8565b61392f565b503461000e5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561397e8161087e565b60243561398a8161087e565b6064359167ffffffffffffffff831161000e573660238401121561000e578260040135916139b7836138f9565b926139c56040519485611471565b808452366024828701011161000e576020816000926024610d6a98018388013785010152604435916141bd565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020600e54604051908152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435613a6b81613f16565b15613b2a576104c090604051907fc321118c000000000000000000000000000000000000000000000000000000008252600482015260008160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115613b1d575b600091613afc575b50604051918291826106b3565b613b17913d8091833e613b0f8183611471565b810190614436565b38613aef565b613b256142a3565b613ae7565b60046040517fa14c4b50000000000000000000000000000000000000000000000000000000008152fd5b503461000e5773ffffffffffffffffffffffffffffffffffffffff613b78366112f5565b91613b849391936145ca565b613b8d816149ff565b1690813b1561000e576040517f7f2a5cca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015215156024830152600091908290829081838160448101610ec3565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020600b54604051908152f35b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e2576040519080600d54613c7381613dfc565b8085529160019180831690811561079a5750600114613c9c576104c08561073381870382611471565b9250600d83527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55b828410613cdf575050508101602001610733826104c0610723565b80546020858701810191909152909301928101613cc4565b503461000e576020613d11613d0b36611df0565b9061549d565b6040519015158152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5773ffffffffffffffffffffffffffffffffffffffff600435613d6c8161087e565b613d74615517565b168015613dd2576020817f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da927fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a55604051908152a1005b60046040517f7448fbae000000000000000000000000000000000000000000000000000000008152fd5b90600182811c92168015613e45575b6020831014613e1657565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691613e0b565b6000818060011115613e86575b60046040517fdf2d9b42000000000000000000000000000000000000000000000000000000008152fd5b8154811015613e5c57815260049060209180835260409283832054947c0100000000000000000000000000000000000000000000000000000000861615613ecf57505050613e5c565b93929190935b8515613ee357505050505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01808352818552838320549550613ed5565b80600111159081613f5e575b81613f2b575090565b905060005260046020527c0100000000000000000000000000000000000000000000000000000000604060002054161590565b60005481109150613f22565b90613f7483613e4f565b73ffffffffffffffffffffffffffffffffffffffff80841692838284160361419357600086815260066020526040902080549092613fce73ffffffffffffffffffffffffffffffffffffffff881633908114908414171590565b614157575b821695861561412d576140679361401b92613fef8a86856147b8565b614123575b5073ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905573ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b805460010190557c0200000000000000000000000000000000000000000000000000000000804260a01b8517176140a8866000526004602052604060002090565b558116156140d9575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b600184016140f1816000526004602052604060002090565b54156140fe575b506140b1565b60005481146140f85761411b906000526004602052604060002090565b5538806140f8565b6000905538613ff4565b60046040517fea553b34000000000000000000000000000000000000000000000000000000008152fd5b614164610fd9338961549d565b15613fd35760046040517f59c896be000000000000000000000000000000000000000000000000000000008152fd5b60046040517fa1148100000000000000000000000000000000000000000000000000000000008152fd5b9291906141cb828286613f6a565b803b6141d8575b50505050565b6141e1936143df565b156141ef57388080806141d2565b60046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b9081602091031261000e57516106c4816103f0565b6106c4939273ffffffffffffffffffffffffffffffffffffffff6080931682526000602083015260408201528160608201520190610670565b90926106c4949360809373ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201528160608201520190610670565b506040513d6000823e3d90fd5b3d156142db573d906142c1826138f9565b916142cf6040519384611471565b82523d6000602084013e565b606090565b61433760209173ffffffffffffffffffffffffffffffffffffffff939460006040519586809581947f150b7a02000000000000000000000000000000000000000000000000000000009a8b8452336004850161422e565b0393165af1600091816143af575b50614389576143526142b0565b805190816143845760046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000161490565b6143d191925060203d81116143d8575b6143c98183611471565b810190614219565b9038614345565b503d6143bf565b9260209161433793600073ffffffffffffffffffffffffffffffffffffffff6040518097819682957f150b7a02000000000000000000000000000000000000000000000000000000009b8c85523360048601614267565b60208183031261000e5780519067ffffffffffffffff821161000e570181601f8201121561000e578051614469816138f9565b926144776040519485611471565b8184526020828401011161000e576106c4916020808501910161064d565b8181106144a0575050565b60008155600101614495565b90601f82116144b9575050565b61450391600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7906020601f840160051c83019310614505575b601f0160051c0190614495565b565b90915081906144f6565b90601f821161451c575050565b61450391600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5906020601f840160051c8301931061450557601f0160051c0190614495565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116145c257565b614503614565565b73ffffffffffffffffffffffffffffffffffffffff6009541630331490331417156145f157565b60046040517f5fc483c5000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9160206106c493818152019161461b565b6004356106c48161087e565b356106c48161087e565b6024356bffffffffffffffffffffffff8116810361000e5790565b6004356146a88161087e565b6024356bffffffffffffffffffffffff8116810361000e577fffffffffffffffffffffffff000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff9160a01b16911617600f55565b73ffffffffffffffffffffffffffffffffffffffff80911690811515806147b0575b61472e57505050565b60085416918261473d57505050565b823b1561000e57608460009260405194859384927fcaee23ea000000000000000000000000000000000000000000000000000000008452336004850152602484015285604484015260648301525afa80156147a3575b61479a5750565b61450390611418565b6147ab6142a3565b614793565b506000614725565b919073ffffffffffffffffffffffffffffffffffffffff8093169182151580614879575b6147e65750505050565b836008541692836147f8575b506141d2565b833b1561000e5760009360849260405196879586947fcaee23ea000000000000000000000000000000000000000000000000000000008652336004870152602486015216604484015260648301525afa801561486c575b61485d575b808080806147f2565b61486690611418565b38614854565b6148746142a3565b61484f565b5083821615156147dc565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156148c5575b60051b0190565b6148cd614884565b6148be565b67ffffffffffffffff8211614997575b68010000000000000000821161498a575b60125482601255808310614954575b50601260005260005b82811061491757505050565b60019060208335936149288561087e565b0192817fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344401550161490b565b61498490837fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34449182019101614495565b38614902565b6149926113e8565b6148f3565b61499f6113e8565b6148e2565b90916040602092828482018583525201929160005b8281106149c7575050505090565b90919293828060019273ffffffffffffffffffffffffffffffffffffffff88356149f08161087e565b168152019501939291016149b9565b73ffffffffffffffffffffffffffffffffffffffff166000526011602052600160ff60406000205416151503614a3157565b60046040517f15e26ff3000000000000000000000000000000000000000000000000000000008152fd5b65ffffffffffff81160361000e57565b60a4359061450382614a5b565b60243569ffffffffffffffffffff811680910361000e578152604435614a9d81614a5b565b65ffffffffffff8091166020830152606435614ab881614a5b565b1660408201526084359061ffff80831680930361000e57614503926060830152614ae0611575565b16608082015260a0614af06112c9565b1515910152565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019167ffffffffffffffff821161000e57813603831361000e57565b91906060810190833581526020808501357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18636030181121561000e5785019080823592019367ffffffffffffffff831161000e578260051b90813603861361000e5760608584015283905283016080908101949291906000908501845b848310614bf257505050505050614be48460406106c495960190614af7565b91604081850391015261461b565b9091929394968480614c37837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808b60019603018752614c318c87614af7565b9061461b565b9901930193019194939290614bc5565b60c4359060ff8216820361000e57565b359060ff8216820361000e57565b60e4359063ffffffff8216820361000e57565b359063ffffffff8216820361000e57565b60443569ffffffffffffffffffff811680910361000e5781526064359061ffff821680920361000e5761450391602082015265ffffffffffff608435614cce81614a5b565b166040820152614cee614cdf614a6b565b65ffffffffffff166060830152565b614d03614cf9614c47565b60ff166080830152565b614d1b614d0e614c65565b63ffffffff1660a0830152565b614d31614d26611563565b61ffff1660c0830152565b60e0614af06112d8565b614d436145ca565b614d4c816149ff565b73ffffffffffffffffffffffffffffffffffffffff809116803b1561000e576000928361010492614e1060405197889687957f4d380178000000000000000000000000000000000000000000000000000000008752166004860152602485019060c09069ffffffffffffffffffff815116835262ffffff602082015116602084015264ffffffffff80604083015116604085015280606083015116606085015260808201511660808401528161ffff918260a08201511660a0860152015116910152565b5af180156147a35761479a5750565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b356106c481614a5b565b909291614af060a060c09273ffffffffffffffffffffffffffffffffffffffff60e086019716855269ffffffffffffffffffff614eb6826114cb565b1660208601526020810135614eca81614a5b565b65ffffffffffff80911660408701526040820135614ee781614a5b565b16606086015261ffff80614efd60608401611586565b166080870152614f0f60808301611586565b1682860152016112e8565b60409073ffffffffffffffffffffffffffffffffffffffff6106c49593168152816020820152019161461b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561000e570190565b60409073ffffffffffffffffffffffffffffffffffffffff6106c494931681528160208201520190614b47565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e57602001918160051b3603831361000e57565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e57602001918160081b3603831361000e57565b9190811015615060575b60081b0190565b615068614884565b615059565b90614af060e06145039496956101209361014086019873ffffffffffffffffffffffffffffffffffffffff809216875216602086015269ffffffffffffffffffff6150b7826114cb565b16604086015261ffff6150cc60208301611586565b16606086015265ffffffffffff60408201356150e781614a5b565b16608086015261510d60608201356150fe81614a5b565b65ffffffffffff1660a0870152565b61512661511c60808301614c57565b60ff1660c0870152565b61514161513560a08301614c78565b63ffffffff1686840152565b61515c61515060c08301611586565b61ffff16610100870152565b016112e8565b60405190610100820182811067ffffffffffffffff8211176151b3575b6040528160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b6151bb6113e8565b61517f565b9060e06145039395946101209261014085019773ffffffffffffffffffffffffffffffffffffffff809216865216602085015269ffffffffffffffffffff815116604085015261ffff602082015116606085015265ffffffffffff604082015116608085015261523f606082015160a086019065ffffffffffff169052565b608081015160ff1660c085015260a081015163ffffffff168483015260c081015161ffff1661010085015201511515910152565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e576020019160e082023603831361000e57565b9160e0918110156152d757020190565b6152df614884565b020190565b906153a760c06145039496956101009361012086019873ffffffffffffffffffffffffffffffffffffffff809216875216602086015269ffffffffffffffffffff61532e826114cb565b16604086015262ffffff615344602083016114f4565b16606086015264ffffffffff8061535d60408401611540565b1660808701528061537060608401611540565b1660a087015261538260808301611540565b16828601526153a161539660a08301611586565b61ffff1660e0870152565b01611586565b61ffff16910152565b6040519060e0820182811067ffffffffffffffff8211176153fa575b6040528160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b6154026113e8565b6153cc565b6040906145039395949261012082019673ffffffffffffffffffffffffffffffffffffffff8092168352166020820152019060c09069ffffffffffffffffffff815116835262ffffff602082015116602084015264ffffffffff80604083015116604085015280606083015116606085015260808201511660808401528161ffff918260a08201511660a0860152015116910152565b73ffffffffffffffffffffffffffffffffffffffff91731e0049783f008a0085193e00003d00cd54003c718382161461550f5760ff9261550a9216600052600760205260406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541690565b505050600190565b73ffffffffffffffffffffffffffffffffffffffff6009541633036145f15756fea26469706673582212206854249a15c775afc68aef41e2b6c293c51eed71c0e3f82358f2da296fb9770764736f6c63430008110033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000dd960766d8699a5c40dfbcd049e7cd5e61cc56300000000000000000000000000000000000000000000000000000000000000004636565730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044345455300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000005ea00ac477b1030ce78506496e8c2de24bf5
0x60806040526004361015610013575b600080fd5b60003560e01c806301ffc9a7146103e757806306fdde03146103de578063081812fc146103d5578063095ea7b3146103cc578063098144d4146103c3578063099b6bfa146103ba5780630d705df6146103b157806318160ddd146103a85780631b73593c1461039f57806323452b9c1461039657806323b872dd1461038d5780632a55205a146103845780633680620d1461037b57806342260b5d1461037257806342842e0e1461036957806342966c681461036057806344dae42c1461035757806348a4c1011461034e578063511aa6441461034557806355f804b31461033c57806360c308b6146103335780636352211e1461032a57806364869dad1461032157806366251b69146103185780636c0360eb1461030f5780636f8b44b01461030657806370a08231146102fd578063715018a6146102f457806379ba5097146102eb5780637a05bc82146102e25780637bc2be76146102d9578063840e15d4146102d05780638ada6b0f146102c75780638da5cb5b146102be578063911f456b146102b5578063938e3d7b146102ac57806395d89b41146102a3578063a22cb4651461029a578063a483011414610291578063a9fc664e14610288578063ad2f852a1461027f578063b88d4fde14610276578063c6ab67a31461026d578063c87b56dd14610264578063cb743ba81461025b578063d5abeb0114610252578063e8a3d48514610249578063e985e9c5146102405763f2fde38b1461023857600080fd5b61000e613d1b565b5061000e613cf7565b5061000e613c31565b5061000e613bf4565b5061000e613b54565b5061000e613a2f565b5061000e6139f2565b5061000e613942565b5061000e6138a6565b5061000e613794565b5061000e613720565b5061000e61362e565b5061000e613568565b5061000e6133bd565b5061000e612609565b5061000e6125b6565b5061000e612546565b5061000e61249c565b5061000e6123b1565b5061000e6122df565b5061000e6121dd565b5061000e61213d565b5061000e612099565b5061000e611f83565b5061000e611ebd565b5061000e611e33565b5061000e611af1565b5061000e611a96565b5061000e6118c3565b5061000e6116f2565b5061000e611595565b5061000e611348565b5061000e61115c565b5061000e610f47565b5061000e610f1e565b5061000e610ede565b5061000e610dee565b5061000e610d6c565b5061000e610d52565b5061000e610c7a565b5061000e610b7b565b5061000e610b17565b5061000e610ab7565b5061000e6109f0565b5061000e61099d565b5061000e61089c565b5061000e6107e5565b5061000e6106c7565b5061000e61041a565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361000e57565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576104c07fffffffff0000000000000000000000000000000000000000000000000000000060043561047a816103f0565b167f1890fe8e000000000000000000000000000000000000000000000000000000008114908115610618575b81156104c4575b5060405190151581529081906020820190565b0390f35b7f2a55205a000000000000000000000000000000000000000000000000000000008114915081156105ee575b81156105c4575b811561059a575b811561050c575b50386104ad565b7f01ffc9a700000000000000000000000000000000000000000000000000000000811491508115610570575b8115610546575b5038610505565b7f5b5e139f000000000000000000000000000000000000000000000000000000009150143861053f565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150610538565b7f4906490600000000000000000000000000000000000000000000000000000000811491506104fe565b7fa07d229a00000000000000000000000000000000000000000000000000000000811491506104f7565b7fad0d7f6c00000000000000000000000000000000000000000000000000000000811491506104f0565b7f9c15441500000000000000000000000000000000000000000000000000000000811491506104a6565b600091031261000e57565b60005b8381106106605750506000910152565b8181015183820152602001610650565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936106ac8151809281875287808801910161064d565b0116010190565b9060206106c4928181520190610670565b90565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257604051908060025461070981613dfc565b8085529160019180831690811561079a575060011461073f575b6104c08561073381870382611471565b604051918291826106b3565b9250600283527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b828410610782575050508101602001610733826104c0610723565b80546020858701810191909152909301928101610767565b8695506104c0969350602092506107339491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b8201019293610723565b80fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561082181613f16565b15610854576000526006602052602073ffffffffffffffffffffffffffffffffffffffff60406000205416604051908152f35b60046040517fcf4700e4000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356108d88161087e565b60243573ffffffffffffffffffffffffffffffffffffffff91826108fb83613e4f565b16803303610965575b600093838552600660205260408520921691827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b61096f338261549d565b6109045760046040517fcfb3b942000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff60085416604051908152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435610a2b6145ca565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005401610a8d5760407f7c22004198bf87da0f0dab623c72e66ca1200f4454aa3b9ca30f436275428b7c91600e549080600e5582519182526020820152a1005b60046040517fe03264af000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57604080517fcaee23ea00000000000000000000000000000000000000000000000000000000815260006020820152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600054600154900301604051908152f35b503461000e57600060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e25780600435610bba8161087e565b60c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610c775773ffffffffffffffffffffffffffffffffffffffff90610c026145ca565b610c0b816149ff565b16803b15610c7757819060c4604051809481937f01308e65000000000000000000000000000000000000000000000000000000008352610c4d60048401614a78565b5af18015610c6a575b610c5e575080f35b610c6790611418565b80f35b610c726142a3565b610c56565b50fd5b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257610cb3615517565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600a5416600a557f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da6020604051838152a180f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261000e57600435610d3e8161087e565b90602435610d4b8161087e565b9060443590565b503461000e57610d6a610d6436610d08565b91613f6a565b005b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576040602435612710600f54918260a01c90818102918183041490151715610de1575b73ffffffffffffffffffffffffffffffffffffffff845193168352046020820152f35b610de9614565565b610dbe565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604081360112610c7757600435610e2e8161087e565b6024359167ffffffffffffffff8311610ed9576060908336030112610ed55773ffffffffffffffffffffffffffffffffffffffff90610e6b6145ca565b610e74816149ff565b1690813b15610ed5578291610ec3916040519485809481937febb4a55f000000000000000000000000000000000000000000000000000000008352602060048401526024830190600401614b47565b03925af18015610c6a57610c5e575080f35b5050fd5b505050fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020600f5460a01c604051908152f35b503461000e57610d6a610f3036610d08565b9060405192610f3e84611455565b600084526141bd565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435610f8381613e4f565b73ffffffffffffffffffffffffffffffffffffffff8116610fb1836000526006602052604060002090815490565b9290610fdd73ffffffffffffffffffffffffffffffffffffffff841633908114908614171590565b1590565b611120575b600093610fef8685614703565b611117575b5061101f8273ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b6fffffffffffffffffffffffffffffffff81540190557c03000000000000000000000000000000000000000000000000000000004260a01b83171761106e856000526004602052604060002090565b557c02000000000000000000000000000000000000000000000000000000008116156110ce575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4610d6a6110c960015460010190565b600155565b600184016110e6816000526004602052604060002090565b54156110f3575b50611095565b835481146110ed5761110f906000526004602052604060002090565b5538806110ed565b83905538610ff4565b61112d610fd9338561549d565b15610fe25760046040517f59c896be000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576111946145ca565b73ffffffffffffffffffffffffffffffffffffffff6111b161466b565b161561129f576127106bffffffffffffffffffffffff6111cf614681565b161161124b576111dd61469c565b7ff21fccf4d64d86d532c4e4eb86c007b6ad57a460c27d724188625e755ec6cf6d61120661466b565b61120e614681565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152819081015b0390a1005b61129b611256614681565b6040517f3cadbafb0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201529081906024820190565b0390fd5b60046040517f1cc0baef000000000000000000000000000000000000000000000000000000008152fd5b60c43590811515820361000e57565b6101243590811515820361000e57565b3590811515820361000e57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261000e5760043561132b8161087e565b906024356113388161087e565b90604435801515810361000e5790565b503461000e5773ffffffffffffffffffffffffffffffffffffffff61136c366112f5565b916113789391936145ca565b611381816149ff565b1690813b1561000e576040517f8e7d1e4300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015215156024830152600091908290829081838160448101610ec3565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161142c57604052565b6114346113e8565b604052565b60e0810190811067ffffffffffffffff82111761142c57604052565b6020810190811067ffffffffffffffff82111761142c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761142c57604052565b6044359069ffffffffffffffffffff8216820361000e57565b359069ffffffffffffffffffff8216820361000e57565b6064359062ffffff8216820361000e57565b359062ffffff8216820361000e57565b6084359064ffffffffff8216820361000e57565b60a4359064ffffffffff8216820361000e57565b60c4359064ffffffffff8216820361000e57565b359064ffffffffff8216820361000e57565b60e4359061ffff8216820361000e57565b610104359061ffff8216820361000e57565b60a4359061ffff8216820361000e57565b359061ffff8216820361000e57565b503461000e576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356115d28161087e565b602435906115df8261087e565b60e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc36011261000e57610d6a916040519161161a83611439565b6116226114b2565b835261162c6114e2565b6020840152611639611504565b6040840152611646611518565b606084015261165361152c565b6080840152611660611552565b60a084015261166d611563565b60c0840152614d3b565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020838186019501011161000e57565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261000e576004359067ffffffffffffffff821161000e576116ee91600401611677565b9091565b503461000e57611701366116a5565b6117096145ca565b67ffffffffffffffff81116118b6575b61172d81611728600c54613dfc565b6144ac565b6000601f82116001146117f95781926000926117ee575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600c555b60005460015490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016117a757005b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c6112466117d6600054614595565b60405191829182919060206040840193600181520152565b013590503880611744565b600c6000527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216927fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c791805b85811061189e57508360019510611866575b505050811b01600c55611777565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c19910135169055388080611858565b90926020600181928686013581550194019101611846565b6118be6113e8565b611719565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff80821161000e573660238301121561000e57816004013590811161000e576024820191602436918360051b01011161000e57611939615517565b601280549060005b828110611a045750505060005b818110611991575081611982827fbbd3b69c138de4d317d0bc4290282c4e1cbd1e58b579a5b4f114b598c237454d946148d2565b611246604051928392836149a4565b806119fe6119d36119ad6119a860019587896148b4565b614677565b73ffffffffffffffffffffffffffffffffffffffff166000526011602052604060002090565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b0161194e565b6001908254811015611a89575b82600052611a83611a5b6119ad837fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444015473ffffffffffffffffffffffffffffffffffffffff1690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055565b01611941565b611a91614884565b611a11565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff611ae8600435613e4f565b16604051908152f35b503461000e576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600490813591611b318361087e565b602435916001938460105403611d93576002601055611b4f336149ff565b600094855491858301957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8088018091860111611d86575b600b54808211611d49575050845193611b9f85611455565b8885528115611d2157611bd28373ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b680100000000000000018302815401905588848073ffffffffffffffffffffffffffffffffffffffff86169381861460e11b4260a01b178517611c1f826000526004602052604060002090565b5580857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95868180a4015b8a8103611d125750505015611cea57868855813b611c6e575b87610c676001601055565b86039180805b611c93575b505050505050508154036107e25738808080808080611c63565b15611cdd575b87611cab610fd98684870196866142e0565b611cb55781611c74565b8686517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b868310611c995780611c79565b8585517f2e076300000000000000000000000000000000000000000000000000000000008152fd5b80848d858180a4018590611c4a565b8686517fb562e8dd000000000000000000000000000000000000000000000000000000008152fd5b86517fe12d231400000000000000000000000000000000000000000000000000000000815280890192835260208301919091529081906040010390fd5b611d8e614565565b611b87565b60648360208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604091011261000e57600435611e268161087e565b906024356106c48161087e565b503461000e57611e4236611df0565b611e4a6145ca565b611e53826149ff565b73ffffffffffffffffffffffffffffffffffffffff80921691823b1561000e57602491604051928380927f12738db8000000000000000000000000000000000000000000000000000000008252600096879586921660048401525af18015610c6a57610c5e575080f35b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e2576040519080600c54611eff81613dfc565b8085529160019180831690811561079a5750600114611f28576104c08561073381870382611471565b9250600c83527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b828410611f6b575050508101602001610733826104c0610723565b80546020858701810191909152909301928101611f50565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435611fbe6145ca565b67ffffffffffffffff8111612068577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000540180821061203057600b8290556040518281527f7810bd47de260c3e9ee10061cf438099dd12256c79485f12f94dbccc981e806c908060208101611246565b6040517f8c19f1f900000000000000000000000000000000000000000000000000000000815260048101929092526024820152604490fd5b602490604051907fb43e91370000000000000000000000000000000000000000000000000000000082526004820152fd5b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5773ffffffffffffffffffffffffffffffffffffffff6004356120ea8161087e565b168015612113576000526005602052602067ffffffffffffffff60406000205416604051908152f35b60046040517f8f4eb604000000000000000000000000000000000000000000000000000000008152fd5b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257612176615517565b8073ffffffffffffffffffffffffffffffffffffffff6009547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e257600a5473ffffffffffffffffffffffffffffffffffffffff808216918233036122b5577fffffffffffffffffffffffff0000000000000000000000000000000000000000809116600a557f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da6020604051868152a18260095491821617600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60046040517fd6eb09ce000000000000000000000000000000000000000000000000000000008152fd5b503461000e57600060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e25760043561231d8161087e565b8160243567ffffffffffffffff81116123ad5761235373ffffffffffffffffffffffffffffffffffffffff913690600401611677565b91909361235e6145ca565b612367816149ff565b16803b156123a957610ec393836040518096819582947fb957d0cb0000000000000000000000000000000000000000000000000000000084526004840161465a565b8280fd5b5080fd5b503461000e5760006101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e2576004356123f08161087e565b81602435916123fe8361087e565b6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126123ad576124316145ca565b61243a816149ff565b73ffffffffffffffffffffffffffffffffffffffff80911692833b156123a957610124908360405195869485937ffd9ab22a000000000000000000000000000000000000000000000000000000008552166004840152610c4d60248401614c89565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5773ffffffffffffffffffffffffffffffffffffffff6004356124ed8161087e565b166000526005602052606067ffffffffffffffff60406000205460401c167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005401600b549060405192835260208301526040820152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000dd960766d8699a5c40dfbcd049e7cd5e61cc5630168152f35b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff60095416604051908152f35b503461000e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261000e57600480359067ffffffffffffffff821161000e5761030082820193833603011261000e57612666615517565b82358061334d575b506024820161267d8185614e1f565b90506132cf575b50604482016126938185614e1f565b9050613251575b5065ffffffffffff6126ae60a48401614e70565b16151592600180946126d06126c560c48701614e70565b65ffffffffffff1690565b151517146131c9575b61014483016126e88183614e1f565b905061313f575b5061016483016126ff8183614f47565b356130b5575b50610184830173ffffffffffffffffffffffffffffffffffffffff61272982614677565b16613010575b506101a483013580612fa0575b506101c4830161274c8183614fa7565b9050612eb5575b506101e483016127638183614fa7565b9050612dc3575b50610204830161277a8183614fa7565b9050612cd8575b5061022483016127918183614fa7565b9050612be6575b5061026483016127a88183614ffb565b9050612abe575b5061028483016127bf8183614fa7565b90506129ee575b506102c483016127d68183615273565b90506128c6575b506102e48301906127ee8282614fa7565b90506127f657005b60009360640191855b61280557005b61280f8183614fa7565b9050851015610d6a576128206153b0565b61282984614677565b956128416119a88261283b8688614fa7565b906148b4565b91303b1561000e576000899893899461288660405194859384937f511aa6440000000000000000000000000000000000000000000000000000000085528d8501615407565b038183305af180156128b9575b6128a0575b5001946127ff565b806128ad6128b392611418565b80610642565b38612898565b6128c16142a3565b612893565b6128d08183615273565b6102a4860191506128e18285614fa7565b919050036129c55760009160648601875b6128ff575b5050506127dd565b6129098286615273565b90508410156129c05761291b81614677565b61292c6119a88661283b878a614fa7565b946129418161293b868a615273565b906152c7565b95303b1561000e5760008b97938a6129868a9660405195869485947f511aa64400000000000000000000000000000000000000000000000000000000865285016152e4565b038183305af180156129b3575b6129a0575b5001936128f2565b806128ad6129ad92611418565b38612998565b6129bb6142a3565b612993565b6128f7565b836040517f74ef6df7000000000000000000000000000000000000000000000000000000008152fd5b8460009160648601915b612a04575b50506127c6565b612a0e8185614fa7565b9050831015612ab957612a1f615162565b92612a2983614677565b90612a3b6119a88261283b868a614fa7565b303b1561000e5760008a969389612a7f899660405195869485947f7bc2be7600000000000000000000000000000000000000000000000000000000865285016151c0565b038183305af18015612aac575b612a99575b5001926129f8565b806128ad612aa692611418565b38612a91565b612ab46142a3565b612a8c565b6129fd565b612ac88183614ffb565b61024486019150612ad98285614fa7565b91905003612bbd5760009160648601875b612af7575b5050506127af565b612b018286614ffb565b9050841015612bb857612b1381614677565b612b246119a88661283b878a614fa7565b94612b3981612b33868a614ffb565b9061504f565b95303b1561000e5760008b97938a612b7e8a9660405195869485947f7bc2be76000000000000000000000000000000000000000000000000000000008652850161506d565b038183305af18015612bab575b612b98575b500193612aea565b806128ad612ba592611418565b38612b90565b612bb36142a3565b612b8b565b612aef565b836040517fb81aa639000000000000000000000000000000000000000000000000000000008152fd5b60009060648501865b612bfb575b5050612798565b612c058285614fa7565b9050831015612cd357612c1781614677565b612c286119a88561283b8689614fa7565b93303b1561000e57612c9960008a96879460405193849283927fcb743ba80000000000000000000000000000000000000000000000000000000084528d8401604090600092949394606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b038183305af18015612cc6575b612cb3575b500192612bef565b806128ad612cc092611418565b38612cab565b612cce6142a3565b612ca6565b612bf4565b60009060648501865b612ced575b5050612781565b612cf78285614fa7565b9050831015612dbe57612d0981614677565b612d1a6119a88561283b8689614fa7565b93303b1561000e57604080517fcb743ba800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384168982019081529390961660208401526001908301528894859260009082908190606001038183305af18015612db1575b612d9e575b500192612ce1565b806128ad612dab92611418565b38612d96565b612db96142a3565b612d91565b612ce6565b60009060648501865b612dd8575b505061276a565b612de28285614fa7565b9050831015612eb057612df481614677565b612e056119a88561283b8689614fa7565b93303b1561000e57612e7660008a96879460405193849283927f48a4c1010000000000000000000000000000000000000000000000000000000084528d8401604090600092949394606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b038183305af18015612ea3575b612e90575b500192612dcc565b806128ad612e9d92611418565b38612e88565b612eab6142a3565b612e83565b612dd1565b60009060648501865b612eca575b5050612753565b612ed48285614fa7565b9050831015612f9b57612ee681614677565b612ef76119a88561283b8689614fa7565b93303b1561000e57604080517f48a4c10100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384168982019081529390961660208401526001908301528894859260009082908190606001038183305af18015612f8e575b612f7b575b500192612ebe565b806128ad612f8892611418565b38612f73565b612f966142a3565b612f6e565b612ec3565b303b1561000e576040517f099b6bfa0000000000000000000000000000000000000000000000000000000081528381019182529060009082908190602001038183305af18015613003575b1561273c57806128ad612ffd92611418565b3861273c565b61300b6142a3565b612feb565b61302561301f60648601614677565b91614677565b90303b1561000e57604080517f66251b6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283168682019081529290931660208301526000918391829101038183305af180156130a8575b1561272f57806128ad6130a292611418565b3861272f565b6130b06142a3565b613090565b6130cb6130c460648601614677565b9183614f47565b90303b1561000e5761310d9160009160405193849283927f3680620d000000000000000000000000000000000000000000000000000000008452888401614f7a565b038183305af18015613132575b1561270557806128ad61312c92611418565b38612705565b61313a6142a3565b61311a565b61315561314e60648601614677565b9183614e1f565b9190303b1561000e5760009161319760405194859384937f7a05bc82000000000000000000000000000000000000000000000000000000008552898501614f1a565b038183305af180156131bc575b156126ef57806128ad6131b692611418565b386126ef565b6131c46142a3565b6131a4565b6131d560648401614677565b303b1561000e57600061321991604051809381927f1b73593c0000000000000000000000000000000000000000000000000000000083526084890190888401614e7a565b038183305af18015613244575b613231575b506126d9565b806128ad61323e92611418565b3861322b565b61324c6142a3565b613226565b61325b9084614e1f565b90303b1561000e5761329d9160009160405193849283927f938e3d7b00000000000000000000000000000000000000000000000000000000845287840161465a565b038183305af180156132c2575b1561269a57806128ad6132bc92611418565b3861269a565b6132ca6142a3565b6132aa565b6132d99084614e1f565b90303b1561000e5761331b9160009160405193849283927f55f804b300000000000000000000000000000000000000000000000000000000845287840161465a565b038183305af18015613340575b1561268457806128ad61333a92611418565b38612684565b6133486142a3565b613328565b303b1561000e576040517f6f8b44b00000000000000000000000000000000000000000000000000000000081528281019182529060009082908190602001038183305af180156133b0575b1561266e57806128ad6133aa92611418565b3861266e565b6133b86142a3565b613398565b503461000e576133cc366116a5565b6133d46145ca565b67ffffffffffffffff811161355b575b6133f8816133f3600d54613dfc565b61450f565b600091601f821160011461347e57817f905d981207a7d0b6c62cc46ab0be2a076d0298e4a86d0ab79882dbd01ac3737893600091613473575b508260011b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8460031b1c191617600d555b6112466040519283928361465a565b905081013538613431565b600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316845b818110613543575093837f905d981207a7d0b6c62cc46ab0be2a076d0298e4a86d0ab79882dbd01ac37378951061350b575b5050600182811b01600d55613464565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88560031b161c199083013516905538806134fb565b838601358355602095860195600190930192016134c9565b6135636113e8565b6133e4565b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e25760405190806003546135aa81613dfc565b8085529160019180831690811561079a57506001146135d3576104c08561073381870382611471565b9250600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410613616575050508101602001610733826104c0610723565b805460208587018101919091529093019281016135fb565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561366a8161087e565b6024359081151580920361000e5773ffffffffffffffffffffffffffffffffffffffff903360005260076020526136c58160406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576137586145ca565b60408051600435815260243560208201527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9181908101611246565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576004356137d08161087e565b6137d8615517565b6008549073ffffffffffffffffffffffffffffffffffffffff80831690821680821461387c577fffffffffffffffffffffffff00000000000000000000000000000000000000007fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac9416176008556112466040519283928390602090939293604083019473ffffffffffffffffffffffffffffffffffffffff809216845216910152565b60046040517f4a3bb19e000000000000000000000000000000000000000000000000000000008152fd5b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57602073ffffffffffffffffffffffffffffffffffffffff600f5416604051908152f35b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111613935575b01160190565b61393d6113e8565b61392f565b503461000e5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561397e8161087e565b60243561398a8161087e565b6064359167ffffffffffffffff831161000e573660238401121561000e578260040135916139b7836138f9565b926139c56040519485611471565b808452366024828701011161000e576020816000926024610d6a98018388013785010152604435916141bd565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020600e54604051908152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e57600435613a6b81613f16565b15613b2a576104c090604051907fc321118c000000000000000000000000000000000000000000000000000000008252600482015260008160248173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000dd960766d8699a5c40dfbcd049e7cd5e61cc5630165afa908115613b1d575b600091613afc575b50604051918291826106b3565b613b17913d8091833e613b0f8183611471565b810190614436565b38613aef565b613b256142a3565b613ae7565b60046040517fa14c4b50000000000000000000000000000000000000000000000000000000008152fd5b503461000e5773ffffffffffffffffffffffffffffffffffffffff613b78366112f5565b91613b849391936145ca565b613b8d816149ff565b1690813b1561000e576040517f7f2a5cca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015215156024830152600091908290829081838160448101610ec3565b503461000e5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e576020600b54604051908152f35b503461000e576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107e2576040519080600d54613c7381613dfc565b8085529160019180831690811561079a5750600114613c9c576104c08561073381870382611471565b9250600d83527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55b828410613cdf575050508101602001610733826104c0610723565b80546020858701810191909152909301928101613cc4565b503461000e576020613d11613d0b36611df0565b9061549d565b6040519015158152f35b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5773ffffffffffffffffffffffffffffffffffffffff600435613d6c8161087e565b613d74615517565b168015613dd2576020817f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da927fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a55604051908152a1005b60046040517f7448fbae000000000000000000000000000000000000000000000000000000008152fd5b90600182811c92168015613e45575b6020831014613e1657565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691613e0b565b6000818060011115613e86575b60046040517fdf2d9b42000000000000000000000000000000000000000000000000000000008152fd5b8154811015613e5c57815260049060209180835260409283832054947c0100000000000000000000000000000000000000000000000000000000861615613ecf57505050613e5c565b93929190935b8515613ee357505050505090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01808352818552838320549550613ed5565b80600111159081613f5e575b81613f2b575090565b905060005260046020527c0100000000000000000000000000000000000000000000000000000000604060002054161590565b60005481109150613f22565b90613f7483613e4f565b73ffffffffffffffffffffffffffffffffffffffff80841692838284160361419357600086815260066020526040902080549092613fce73ffffffffffffffffffffffffffffffffffffffff881633908114908414171590565b614157575b821695861561412d576140679361401b92613fef8a86856147b8565b614123575b5073ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905573ffffffffffffffffffffffffffffffffffffffff166000526005602052604060002090565b805460010190557c0200000000000000000000000000000000000000000000000000000000804260a01b8517176140a8866000526004602052604060002090565b558116156140d9575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b600184016140f1816000526004602052604060002090565b54156140fe575b506140b1565b60005481146140f85761411b906000526004602052604060002090565b5538806140f8565b6000905538613ff4565b60046040517fea553b34000000000000000000000000000000000000000000000000000000008152fd5b614164610fd9338961549d565b15613fd35760046040517f59c896be000000000000000000000000000000000000000000000000000000008152fd5b60046040517fa1148100000000000000000000000000000000000000000000000000000000008152fd5b9291906141cb828286613f6a565b803b6141d8575b50505050565b6141e1936143df565b156141ef57388080806141d2565b60046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b9081602091031261000e57516106c4816103f0565b6106c4939273ffffffffffffffffffffffffffffffffffffffff6080931682526000602083015260408201528160608201520190610670565b90926106c4949360809373ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201528160608201520190610670565b506040513d6000823e3d90fd5b3d156142db573d906142c1826138f9565b916142cf6040519384611471565b82523d6000602084013e565b606090565b61433760209173ffffffffffffffffffffffffffffffffffffffff939460006040519586809581947f150b7a02000000000000000000000000000000000000000000000000000000009a8b8452336004850161422e565b0393165af1600091816143af575b50614389576143526142b0565b805190816143845760046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000161490565b6143d191925060203d81116143d8575b6143c98183611471565b810190614219565b9038614345565b503d6143bf565b9260209161433793600073ffffffffffffffffffffffffffffffffffffffff6040518097819682957f150b7a02000000000000000000000000000000000000000000000000000000009b8c85523360048601614267565b60208183031261000e5780519067ffffffffffffffff821161000e570181601f8201121561000e578051614469816138f9565b926144776040519485611471565b8184526020828401011161000e576106c4916020808501910161064d565b8181106144a0575050565b60008155600101614495565b90601f82116144b9575050565b61450391600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7906020601f840160051c83019310614505575b601f0160051c0190614495565b565b90915081906144f6565b90601f821161451c575050565b61450391600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5906020601f840160051c8301931061450557601f0160051c0190614495565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116145c257565b614503614565565b73ffffffffffffffffffffffffffffffffffffffff6009541630331490331417156145f157565b60046040517f5fc483c5000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9160206106c493818152019161461b565b6004356106c48161087e565b356106c48161087e565b6024356bffffffffffffffffffffffff8116810361000e5790565b6004356146a88161087e565b6024356bffffffffffffffffffffffff8116810361000e577fffffffffffffffffffffffff000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff9160a01b16911617600f55565b73ffffffffffffffffffffffffffffffffffffffff80911690811515806147b0575b61472e57505050565b60085416918261473d57505050565b823b1561000e57608460009260405194859384927fcaee23ea000000000000000000000000000000000000000000000000000000008452336004850152602484015285604484015260648301525afa80156147a3575b61479a5750565b61450390611418565b6147ab6142a3565b614793565b506000614725565b919073ffffffffffffffffffffffffffffffffffffffff8093169182151580614879575b6147e65750505050565b836008541692836147f8575b506141d2565b833b1561000e5760009360849260405196879586947fcaee23ea000000000000000000000000000000000000000000000000000000008652336004870152602486015216604484015260648301525afa801561486c575b61485d575b808080806147f2565b61486690611418565b38614854565b6148746142a3565b61484f565b5083821615156147dc565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156148c5575b60051b0190565b6148cd614884565b6148be565b67ffffffffffffffff8211614997575b68010000000000000000821161498a575b60125482601255808310614954575b50601260005260005b82811061491757505050565b60019060208335936149288561087e565b0192817fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344401550161490b565b61498490837fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34449182019101614495565b38614902565b6149926113e8565b6148f3565b61499f6113e8565b6148e2565b90916040602092828482018583525201929160005b8281106149c7575050505090565b90919293828060019273ffffffffffffffffffffffffffffffffffffffff88356149f08161087e565b168152019501939291016149b9565b73ffffffffffffffffffffffffffffffffffffffff166000526011602052600160ff60406000205416151503614a3157565b60046040517f15e26ff3000000000000000000000000000000000000000000000000000000008152fd5b65ffffffffffff81160361000e57565b60a4359061450382614a5b565b60243569ffffffffffffffffffff811680910361000e578152604435614a9d81614a5b565b65ffffffffffff8091166020830152606435614ab881614a5b565b1660408201526084359061ffff80831680930361000e57614503926060830152614ae0611575565b16608082015260a0614af06112c9565b1515910152565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561000e57016020813591019167ffffffffffffffff821161000e57813603831361000e57565b91906060810190833581526020808501357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18636030181121561000e5785019080823592019367ffffffffffffffff831161000e578260051b90813603861361000e5760608584015283905283016080908101949291906000908501845b848310614bf257505050505050614be48460406106c495960190614af7565b91604081850391015261461b565b9091929394968480614c37837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808b60019603018752614c318c87614af7565b9061461b565b9901930193019194939290614bc5565b60c4359060ff8216820361000e57565b359060ff8216820361000e57565b60e4359063ffffffff8216820361000e57565b359063ffffffff8216820361000e57565b60443569ffffffffffffffffffff811680910361000e5781526064359061ffff821680920361000e5761450391602082015265ffffffffffff608435614cce81614a5b565b166040820152614cee614cdf614a6b565b65ffffffffffff166060830152565b614d03614cf9614c47565b60ff166080830152565b614d1b614d0e614c65565b63ffffffff1660a0830152565b614d31614d26611563565b61ffff1660c0830152565b60e0614af06112d8565b614d436145ca565b614d4c816149ff565b73ffffffffffffffffffffffffffffffffffffffff809116803b1561000e576000928361010492614e1060405197889687957f4d380178000000000000000000000000000000000000000000000000000000008752166004860152602485019060c09069ffffffffffffffffffff815116835262ffffff602082015116602084015264ffffffffff80604083015116604085015280606083015116606085015260808201511660808401528161ffff918260a08201511660a0860152015116910152565b5af180156147a35761479a5750565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e5760200191813603831361000e57565b356106c481614a5b565b909291614af060a060c09273ffffffffffffffffffffffffffffffffffffffff60e086019716855269ffffffffffffffffffff614eb6826114cb565b1660208601526020810135614eca81614a5b565b65ffffffffffff80911660408701526040820135614ee781614a5b565b16606086015261ffff80614efd60608401611586565b166080870152614f0f60808301611586565b1682860152016112e8565b60409073ffffffffffffffffffffffffffffffffffffffff6106c49593168152816020820152019161461b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561000e570190565b60409073ffffffffffffffffffffffffffffffffffffffff6106c494931681528160208201520190614b47565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e57602001918160051b3603831361000e57565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e57602001918160081b3603831361000e57565b9190811015615060575b60081b0190565b615068614884565b615059565b90614af060e06145039496956101209361014086019873ffffffffffffffffffffffffffffffffffffffff809216875216602086015269ffffffffffffffffffff6150b7826114cb565b16604086015261ffff6150cc60208301611586565b16606086015265ffffffffffff60408201356150e781614a5b565b16608086015261510d60608201356150fe81614a5b565b65ffffffffffff1660a0870152565b61512661511c60808301614c57565b60ff1660c0870152565b61514161513560a08301614c78565b63ffffffff1686840152565b61515c61515060c08301611586565b61ffff16610100870152565b016112e8565b60405190610100820182811067ffffffffffffffff8211176151b3575b6040528160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b6151bb6113e8565b61517f565b9060e06145039395946101209261014085019773ffffffffffffffffffffffffffffffffffffffff809216865216602085015269ffffffffffffffffffff815116604085015261ffff602082015116606085015265ffffffffffff604082015116608085015261523f606082015160a086019065ffffffffffff169052565b608081015160ff1660c085015260a081015163ffffffff168483015260c081015161ffff1661010085015201511515910152565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561000e570180359067ffffffffffffffff821161000e576020019160e082023603831361000e57565b9160e0918110156152d757020190565b6152df614884565b020190565b906153a760c06145039496956101009361012086019873ffffffffffffffffffffffffffffffffffffffff809216875216602086015269ffffffffffffffffffff61532e826114cb565b16604086015262ffffff615344602083016114f4565b16606086015264ffffffffff8061535d60408401611540565b1660808701528061537060608401611540565b1660a087015261538260808301611540565b16828601526153a161539660a08301611586565b61ffff1660e0870152565b01611586565b61ffff16910152565b6040519060e0820182811067ffffffffffffffff8211176153fa575b6040528160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b6154026113e8565b6153cc565b6040906145039395949261012082019673ffffffffffffffffffffffffffffffffffffffff8092168352166020820152019060c09069ffffffffffffffffffff815116835262ffffff602082015116602084015264ffffffffff80604083015116604085015280606083015116606085015260808201511660808401528161ffff918260a08201511660a0860152015116910152565b73ffffffffffffffffffffffffffffffffffffffff91731e0049783f008a0085193e00003d00cd54003c718382161461550f5760ff9261550a9216600052600760205260406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b541690565b505050600190565b73ffffffffffffffffffffffffffffffffffffffff6009541633036145f15756fea26469706673582212206854249a15c775afc68aef41e2b6c293c51eed71c0e3f82358f2da296fb9770764736f6c63430008110033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xb32e34…e7ee8a | 7 days agoMon, 10 Aug 2026 14:52:01 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…3bfd2c52 [2] 0x000000000000…00000195 |
| 0xb32e34…e7ee8a | 7 days agoMon, 10 Aug 2026 14:52:01 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…3bfd2c52 [2] 0x000000000000…00000194 |
| 0x9005b3…770246 | 8 days agoMon, 10 Aug 2026 04:34:46 UTC | ApprovalForAll | [0] 0x000000000000…bb3edae0 [1] 0x000000000000…0000c300 data: 0x000000000000000000…00000001 |
| 0xac762e…eb0e2f | 8 days agoSun, 09 Aug 2026 17:40:39 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…afe32071 [2] 0x000000000000…00000193 |
| 0xac762e…eb0e2f | 8 days agoSun, 09 Aug 2026 17:40:39 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…afe32071 [2] 0x000000000000…00000192 |
| 0xac762e…eb0e2f | 8 days agoSun, 09 Aug 2026 17:40:39 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…afe32071 [2] 0x000000000000…00000191 |
| 0xac762e…eb0e2f | 8 days agoSun, 09 Aug 2026 17:40:39 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…afe32071 [2] 0x000000000000…00000190 |
| 0xac762e…eb0e2f | 8 days agoSun, 09 Aug 2026 17:40:39 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…afe32071 [2] 0x000000000000…0000018f |
| 0x73101e…0ed27a | 8 days agoSun, 09 Aug 2026 17:35:54 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…6d6b3c5b [2] 0x000000000000…0000018e |
| 0x73101e…0ed27a | 8 days agoSun, 09 Aug 2026 17:35:54 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…6d6b3c5b [2] 0x000000000000…0000018d |
| 0x73101e…0ed27a | 8 days agoSun, 09 Aug 2026 17:35:54 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…6d6b3c5b [2] 0x000000000000…0000018c |
| 0x73101e…0ed27a | 8 days agoSun, 09 Aug 2026 17:35:54 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…6d6b3c5b [2] 0x000000000000…0000018b |
| 0x73101e…0ed27a | 8 days agoSun, 09 Aug 2026 17:35:54 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…6d6b3c5b [2] 0x000000000000…0000018a |
| 0x537a55…d584e3 | 8 days agoSun, 09 Aug 2026 17:10:01 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…69bc4e1a [2] 0x000000000000…00000189 |
| 0x14937b…2fce94 | 8 days agoSun, 09 Aug 2026 17:09:51 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…a98180d8 [2] 0x000000000000…00000188 |
| 0x14937b…2fce94 | 8 days agoSun, 09 Aug 2026 17:09:51 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…a98180d8 [2] 0x000000000000…00000187 |
| 0x464912…0a9f6e | 8 days agoSun, 09 Aug 2026 17:09:45 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…519f5f48 [2] 0x000000000000…00000186 |
| 0x702e06…54470e | 8 days agoSun, 09 Aug 2026 17:09:35 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…9f24423e [2] 0x000000000000…00000185 |
| 0x702e06…54470e | 8 days agoSun, 09 Aug 2026 17:09:35 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…9f24423e [2] 0x000000000000…00000184 |
| 0x702e06…54470e | 8 days agoSun, 09 Aug 2026 17:09:35 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…9f24423e [2] 0x000000000000…00000183 |
| 0x6e5d07…cf4a66 | 8 days agoSun, 09 Aug 2026 17:09:24 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…3e5408bb [2] 0x000000000000…00000182 |
| 0x10b86f…a58fdc | 8 days agoSun, 09 Aug 2026 17:09:12 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…c7fc6d8a [2] 0x000000000000…00000181 |
| 0x10b86f…a58fdc | 8 days agoSun, 09 Aug 2026 17:09:12 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…c7fc6d8a [2] 0x000000000000…00000180 |
| 0xa45c5f…dabc29 | 8 days agoSun, 09 Aug 2026 17:09:02 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…f849715d [2] 0x000000000000…0000017f |
| 0xe65278…d4212e | 8 days agoSun, 09 Aug 2026 17:08:50 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…06657272 [2] 0x000000000000…0000017e |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x9005b3…770246 | Set Approval For All | 32,514,960 | 8 days agoMon, 10 Aug 2026 04:34:46 UTC | 0xbe17…dae0 | IN | cees | $0.000 ETH | 0.00000130 | |
| 0xe195ff…fdf44b | Set Approval For All | 32,044,429 | 8 days agoSun, 09 Aug 2026 15:29:45 UTC | 0x9295…cc1d | IN | cees | $0.000 ETH | 0.00000125 | |
| 0xb75a28…a6ed2b | Set Approval For All | 32,041,334 | 8 days agoSun, 09 Aug 2026 15:24:35 UTC | 0x5990…f871 | IN | cees | $0.000 ETH | 0.00000126 | |
| 0xc5a901…3a86cf | Set Approval For All | 32,037,885 | 8 days agoSun, 09 Aug 2026 15:18:50 UTC | 0x8e0c…9aa6 | IN | cees | $0.000 ETH | 0.00000127 | |
| 0x6f2da4…45fc28 | multiConfigure | 32,009,109 | 8 days agoSun, 09 Aug 2026 14:30:47 UTC | 0xe882…d0e8 | IN | cees | $0.000 ETH | 0.00000242 | |
| 0x2d3b58…35165e | multiConfigure | 32,003,584 | 8 days agoSun, 09 Aug 2026 14:21:34 UTC | 0xe882…d0e8 | IN | cees | $0.000 ETH | 0.00000904 | |
| 0xda98bc…a8911a | setTransferValidator | 32,002,722 | 8 days agoSun, 09 Aug 2026 14:20:07 UTC | 0xe882…d0e8 | IN | cees | $0.000 ETH | 0.00000128 | |
| 0x31045c…24f1a8 | setContractURI | 31,996,455 | 8 days agoSun, 09 Aug 2026 14:09:38 UTC | 0xe882…d0e8 | IN | cees | $0.000 ETH | 0.00009723 |