159 txs
272 calls
constructor
constructor(string baseURI)
functions
_baseTokenURI
viewfunction _baseTokenURI() view returns (string)
allowlisted
viewfunction allowlisted(address who, bytes32 _leaf, bytes32[] _merkleProof) view returns (bool)
allowlistMerkleRoot
viewfunction allowlistMerkleRoot() view returns (bytes32)
allowlistMinted
viewfunction allowlistMinted(address) view returns (bool)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
codeSigner
viewfunction codeSigner() view returns (address)
domainSeparator
viewfunction domainSeparator() view returns (bytes32)
genes
viewfunction genes(uint256) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
METADATA_PROVENANCE_HASH
viewfunction METADATA_PROVENANCE_HASH() view returns (string)
mintStarted
viewfunction mintStarted() view returns (bool)
name
viewfunction name() view returns (string)
nextId
viewfunction nextId() view returns (uint256)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
R
viewfunction R() view returns (string)
remainingSupply
viewfunction remainingSupply() view returns (uint256)
startBlock
viewfunction startBlock() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
usedCodes
viewfunction usedCodes(bytes32) view returns (bool)
allowlistSummon
nonpayablefunction allowlistSummon(bytes32 _leaf, bytes32[] _merkleProof)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 tokenId)
codeSummon
nonpayablefunction codeSummon(bytes signature, bytes32 code)
forwardERC20s
nonpayablefunction forwardERC20s(address _token, uint256 _amount)
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setAllowlistMerkleRoot
nonpayablefunction setAllowlistMerkleRoot(bytes32 newMerkleRoot)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string baseURI)
setCodeSigner
nonpayablefunction setCodeSigner(address newCodeSigner)
setMintStartBlock
nonpayablefunction setMintStartBlock(uint256 _newMintStartBlock)
setProvenanceHash
nonpayablefunction setProvenanceHash(string _hash)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
uploadAttributes
nonpayablefunction uploadAttributes(bytes s)
uploadImage
nonpayablefunction uploadImage(bytes s)
withdrawAll
payablefunction withdrawAll() payable
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x600019600c55610140604081905260006101208190526200002391600d91620002a6565b5060006010553480156200003657600080fd5b50604051620038753803806200387583398101604081905262000059916200034c565b6040518060400160405280600d81526020016c456c797369616e4669656c647360981b815250604051806040016040528060018152602001603160f81b8152506040518060400160405280600d81526020016c456c797369616e4669656c647360981b81525060405180604001604052806006815260200165504f4e49455360d01b8152508160009080519060200190620000f6929190620002a6565b5080516200010c906001906020840190620002a6565b50505062000129620001236200019d60201b60201c565b620001a1565b6001600b55815160208084019190912082519183019190912060c082905260e08190524660a0527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200017e818484620001f3565b6080526101005250620001969250839150506200022f565b50620004cf565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008383834630604051602001620002109594939291906200041b565b6040516020818303038152906040528051906020012090509392505050565b620002396200019d565b6001600160a01b03166200024c62000297565b6001600160a01b0316146200027e5760405162461bcd60e51b8152600401620002759062000447565b60405180910390fd5b80516200029390600f906020840190620002a6565b5050565b600a546001600160a01b031690565b828054620002b4906200047c565b90600052602060002090601f016020900481019282620002d8576000855562000323565b82601f10620002f357805160ff191683800117855562000323565b8280016001018555821562000323579182015b828111156200032357825182559160200191906001019062000306565b506200033192915062000335565b5090565b5b8082111562000331576000815560010162000336565b600060208083850312156200035f578182fd5b82516001600160401b038082111562000376578384fd5b818501915085601f8301126200038a578384fd5b8151818111156200039f576200039f620004b9565b604051601f8201601f1916810185018381118282101715620003c557620003c5620004b9565b6040528181528382018501881015620003dc578586fd5b8592505b81831015620003ff5783830185015181840186015291840191620003e0565b818311156200041057858583830101525b979650505050505050565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6002810460018216806200049157607f821691505b60208210811415620004b357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b60805160a05160c05160e05161010051613361620005146000396000611b9001526000611bd201526000611bb101526000611b3e01526000611b6701526133616000f3fe60806040526004361061027d5760003560e01c8063715018a61161014f578063ae5e424f116100c1578063e985e9c51161007a578063e985e9c5146106ef578063f0c9dc601461070f578063f2fde38b14610724578063f698da2514610744578063f6a5ec3e14610759578063f95df414146107795761027d565b8063ae5e424f14610645578063b88d4fde14610665578063c87b56dd14610685578063cfc86f7b146106a5578063da0239a6146106ba578063e81ed044146106cf5761027d565b8063904077a011610113578063904077a01461059b57806395d89b41146105bb5780639727151a146105d0578063a22cb465146105f0578063a9722cf314610610578063ab1aa1c5146106255761027d565b8063715018a614610554578063732f240114610569578063853828b61461057e57806389009e38146103495780638da5cb5b146105865761027d565b806332cb6b0c116101f35780634a2516cc116101ac5780634a2516cc1461049f5780634f6ccce7146104bf57806355f804b3146104df57806361b8ce8c146104ff5780636352211e1461051457806370a08231146105345761027d565b806332cb6b0c14610400578063338c397b1461041557806342842e0e1461043557806342966c681461045557806348cd4cb1146104755780634980e1be1461048a5761027d565b806312e2cfca1161024557806312e2cfca1461034957806318160ddd14610369578063234da1091461038b57806323b872dd146103ab578063293108e0146103cb5780632f745c59146103e05761027d565b806301ffc9a71461028257806306fdde03146102b8578063081812fc146102da578063095ea7b3146103075780631096952314610329575b600080fd5b34801561028e57600080fd5b506102a261029d36600461265c565b610799565b6040516102af9190612944565b60405180910390f35b3480156102c457600080fd5b506102cd6107c6565b6040516102af91906129c1565b3480156102e657600080fd5b506102fa6102f53660046125fa565b610859565b6040516102af91906128e4565b34801561031357600080fd5b506103276103223660046125b3565b6108a5565b005b34801561033557600080fd5b50610327610344366004612744565b61093d565b34801561035557600080fd5b50610327610364366004612694565b610993565b34801561037557600080fd5b5061037e6109d2565b6040516102af919061294f565b34801561039757600080fd5b506102a26103a6366004612559565b6109d8565b3480156103b757600080fd5b506103276103c6366004612482565b610a72565b3480156103d757600080fd5b5061037e610aaa565b3480156103ec57600080fd5b5061037e6103fb3660046125b3565b610ab0565b34801561040c57600080fd5b5061037e610b05565b34801561042157600080fd5b50610327610430366004612701565b610b0b565b34801561044157600080fd5b50610327610450366004612482565b610c6a565b34801561046157600080fd5b506103276104703660046125fa565b610c85565b34801561048157600080fd5b5061037e610cb8565b34801561049657600080fd5b506102cd610cbe565b3480156104ab57600080fd5b506103276104ba366004612612565b610cda565b3480156104cb57600080fd5b5061037e6104da3660046125fa565b610e1e565b3480156104eb57600080fd5b506103276104fa366004612744565b610e79565b34801561050b57600080fd5b5061037e610ecb565b34801561052057600080fd5b506102fa61052f3660046125fa565b610ed1565b34801561054057600080fd5b5061037e61054f36600461242e565b610f06565b34801561056057600080fd5b50610327610f4a565b34801561057557600080fd5b506102fa610f8b565b610327610f9a565b34801561059257600080fd5b506102fa610ffd565b3480156105a757600080fd5b506102a26105b63660046125fa565b61100c565b3480156105c757600080fd5b506102cd611021565b3480156105dc57600080fd5b506103276105eb3660046125b3565b611030565b3480156105fc57600080fd5b5061032761060b36600461252c565b6110f9565b34801561061c57600080fd5b506102a26111c7565b34801561063157600080fd5b5061037e6106403660046125fa565b6111d0565b34801561065157600080fd5b5061032761066036600461242e565b6111e2565b34801561067157600080fd5b506103276106803660046124c2565b611243565b34801561069157600080fd5b506102cd6106a03660046125fa565b611282565b3480156106b157600080fd5b506102cd6112db565b3480156106c657600080fd5b5061037e611369565b3480156106db57600080fd5b506102a26106ea36600461242e565b611380565b3480156106fb57600080fd5b506102a261070a36600461244a565b611395565b34801561071b57600080fd5b506102cd6113c3565b34801561073057600080fd5b5061032761073f36600461242e565b6113d0565b34801561075057600080fd5b5061037e61143e565b34801561076557600080fd5b506103276107743660046125fa565b611448565b34801561078557600080fd5b506103276107943660046125fa565b61148c565b60006001600160e01b0319821663780e9d6360e01b14806107be57506107be826114d0565b90505b919050565b6060600080546107d59061320f565b80601f01602080910402602001604051908101604052809291908181526020018280546108019061320f565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b505050505090505b90565b600061086482611510565b6108895760405162461bcd60e51b815260040161088090612e64565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006108b082610ed1565b9050806001600160a01b0316836001600160a01b031614156108e45760405162461bcd60e51b815260040161088090612f7d565b806001600160a01b03166108f661152d565b6001600160a01b0316148061091257506109128161070a61152d565b61092e5760405162461bcd60e51b815260040161088090612c8f565b6109388383611531565b505050565b61094561152d565b6001600160a01b0316610956610ffd565b6001600160a01b03161461097c5760405162461bcd60e51b815260040161088090612eb0565b805161098f90600d9060208401906122b6565b5050565b61099b61152d565b6001600160a01b03166109ac610ffd565b6001600160a01b03161461098f5760405162461bcd60e51b815260040161088090612eb0565b60085490565b600080856040516020016109ec91906127d2565b604051602081830303815290604052805190602001209050848114610a15576000915050610a6a565b610a5684848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050601154915088905061159f565b610a64576000915050610a6a565b60019150505b949350505050565b610a83610a7d61152d565b8261165a565b610a9f5760405162461bcd60e51b815260040161088090612fe9565b6109388383836116d7565b60115481565b6000610abb83610f06565b8210610ad95760405162461bcd60e51b815260040161088090612a42565b506001600160a01b03821660009081526006602090815260408083208484529091529020545b92915050565b61023781565b6002600b541415610b2e5760405162461bcd60e51b81526004016108809061310d565b6002600b55610b3b6111c7565b610b575760405162461bcd60e51b815260040161088090612bd7565b6000610bac7f2e56d6d35adcabadfff373dfd9fa8b2aaafb2d8e5da1d167ba7d5ba3c96436c33384604051602001610b9193929190612958565b60405160208183030381529060405280519060200120611804565b90506000610bba8285611817565b90506001600160a01b038116610be25760405162461bcd60e51b8152600401610880906129d4565b600e546001600160a01b03828116911614610c0f5760405162461bcd60e51b815260040161088090612df8565b60008381526012602052604090205460ff1615610c3e5760405162461bcd60e51b815260040161088090612fbe565b6000838152601260205260409020805460ff19166001179055610c5f61188b565b50506001600b555050565b61093883838360405180602001604052806000815250611243565b610c90610a7d61152d565b610cac5760405162461bcd60e51b815260040161088090613144565b610cb5816118f3565b50565b600c5481565b6040518060600160405280603781526020016132f56037913981565b6002600b541415610cfd5760405162461bcd60e51b81526004016108809061310d565b6002600b55610d0a6111c7565b610d265760405162461bcd60e51b815260040161088090612bd7565b3360009081526013602052604090205460ff1615610d565760405162461bcd60e51b8152600401610880906130bd565b336000818152601360209081526040808320805460ff19166001179055519192610d82929091016127d2565b604051602081830303815290604052805190602001209050838114610db95760405162461bcd60e51b815260040161088090613086565b610dfa83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050601154915087905061159f565b610e165760405162461bcd60e51b8152600401610880906130e5565b610c5f61188b565b6000610e286109d2565b8210610e465760405162461bcd60e51b81526004016108809061303a565b60088281548110610e6757634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b610e8161152d565b6001600160a01b0316610e92610ffd565b6001600160a01b031614610eb85760405162461bcd60e51b815260040161088090612eb0565b805161098f90600f9060208401906122b6565b60105481565b6000818152600260205260408120546001600160a01b0316806107be5760405162461bcd60e51b815260040161088090612d6d565b60006001600160a01b038216610f2e5760405162461bcd60e51b815260040161088090612d23565b506001600160a01b031660009081526003602052604090205490565b610f5261152d565b6001600160a01b0316610f63610ffd565b6001600160a01b031614610f895760405162461bcd60e51b815260040161088090612eb0565b565b600e546001600160a01b031681565b610fa261152d565b6001600160a01b0316610fb3610ffd565b6001600160a01b031614610fd95760405162461bcd60e51b815260040161088090612eb0565b60405133904780156108fc02916000818181858888f19350505050610f8957600080fd5b600a546001600160a01b031690565b60126020526000908152604090205460ff1681565b6060600180546107d59061320f565b61103861152d565b6001600160a01b0316611049610ffd565b6001600160a01b03161461106f5760405162461bcd60e51b815260040161088090612eb0565b3361107957600080fd5b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb906110a7903390859060040161292b565b602060405180830381600087803b1580156110c157600080fd5b505af11580156110d5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093891906125de565b61110161152d565b6001600160a01b0316826001600160a01b031614156111325760405162461bcd60e51b815260040161088090612ba0565b806005600061113f61152d565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561118361152d565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111bb9190612944565b60405180910390a35050565b600c5443101590565b60146020526000908152604090205481565b6111ea61152d565b6001600160a01b03166111fb610ffd565b6001600160a01b0316146112215760405162461bcd60e51b815260040161088090612eb0565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b61125461124e61152d565b8361165a565b6112705760405162461bcd60e51b815260040161088090612fe9565b61127c8484848461199a565b50505050565b606061128d82611510565b6112a95760405162461bcd60e51b815260040161088090612f2e565b600f6112b4836119cd565b6040516020016112c592919061282c565b6040516020818303038152906040529050919050565b600f80546112e89061320f565b80601f01602080910402602001604051908101604052809291908181526020018280546113149061320f565b80156113615780601f1061133657610100808354040283529160200191611361565b820191906000526020600020905b81548152906001019060200180831161134457829003601f168201915b505050505081565b600060105461023761137b91906131cc565b905090565b60136020526000908152604090205460ff1681565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600d80546112e89061320f565b6113d861152d565b6001600160a01b03166113e9610ffd565b6001600160a01b03161461140f5760405162461bcd60e51b815260040161088090612eb0565b6001600160a01b0381166114355760405162461bcd60e51b815260040161088090612adf565b610cb581611ae8565b600061137b611b3a565b61145061152d565b6001600160a01b0316611461610ffd565b6001600160a01b0316146114875760405162461bcd60e51b815260040161088090612eb0565b600c55565b61149461152d565b6001600160a01b03166114a5610ffd565b6001600160a01b0316146114cb5760405162461bcd60e51b815260040161088090612eb0565b601155565b60006001600160e01b031982166380ac58cd60e01b148061150157506001600160e01b03198216635b5e139f60e01b145b806107be57506107be82611bfd565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061156682610ed1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081815b855181101561164f5760008682815181106115cf57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116116105782816040516020016115f392919061281e565b60405160208183030381529060405280519060200120925061163c565b808360405160200161162392919061281e565b6040516020818303038152906040528051906020012092505b50806116478161324a565b9150506115a4565b509092149392505050565b600061166582611510565b6116815760405162461bcd60e51b815260040161088090612c43565b600061168c83610ed1565b9050806001600160a01b0316846001600160a01b031614806116c75750836001600160a01b03166116bc84610859565b6001600160a01b0316145b80610a6a5750610a6a8185611395565b826001600160a01b03166116ea82610ed1565b6001600160a01b0316146117105760405162461bcd60e51b815260040161088090612ee5565b6001600160a01b0382166117365760405162461bcd60e51b815260040161088090612b5c565b611741838383611c16565b61174c600082611531565b6001600160a01b03831660009081526003602052604081208054600192906117759084906131cc565b90915550506001600160a01b03821660009081526003602052604081208054600192906117a39084906131a0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006107be611811611b3a565b83611c9f565b600081516041141561184b5760208201516040830151606084015160001a61184186828585611cd2565b9350505050610aff565b815160401415611873576020820151604083015161186a858383611dc8565b92505050610aff565b60405162461bcd60e51b815260040161088090612a0b565b610237601054106118ae5760405162461bcd60e51b815260040161088090612cec565b6118ba33601054611df2565b6118c5601054611e0c565b601080546000908152601460205260408120929092558054600192906118ec9084906131a0565b9091555050565b60006118fe82610ed1565b905061190c81600084611c16565b611917600083611531565b6001600160a01b03811660009081526003602052604081208054600192906119409084906131cc565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6119a58484846116d7565b6119b184848484611e4e565b61127c5760405162461bcd60e51b815260040161088090612a8d565b6060816119f257506040805180820190915260018152600360fc1b60208201526107c1565b8160005b8115611a1c5780611a068161324a565b9150611a159050600a836131b8565b91506119f6565b60008167ffffffffffffffff811115611a4557634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611a6f576020820181803683370190505b5090505b8415610a6a57611a846001836131cc565b9150611a91600a86613265565b611a9c9060306131a0565b60f81b818381518110611abf57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611ae1600a866131b8565b9450611a73565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f0000000000000000000000000000000000000000000000000000000000000000461415611b8b57507f0000000000000000000000000000000000000000000000000000000000000000610856565b611bf67f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611f66565b9050610856565b6001600160e01b031981166301ffc9a760e01b14919050565b611c21838383610938565b6001600160a01b038316611c3d57611c3881611fa0565b611c60565b816001600160a01b0316836001600160a01b031614611c6057611c608382611fe4565b6001600160a01b038216611c7c57611c7781612081565b610938565b826001600160a01b0316826001600160a01b03161461093857610938828261215a565b60008282604051602001611cb49291906128c9565b60405160208183030381529060405280519060200120905092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115611d145760405162461bcd60e51b815260040161088090612c01565b8360ff16601b1480611d2957508360ff16601c145b611d455760405162461bcd60e51b815260040161088090612db6565b600060018686868660405160008152602001604052604051611d6a94939291906129a3565b6020604051602081039080840390855afa158015611d8c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611dbf5760405162461bcd60e51b8152600401610880906129d4565b95945050505050565b60006001600160ff1b03821660ff83901c601b01611de886828785611cd2565b9695505050505050565b61098f82826040518060200160405280600081525061219e565b600032611e1a6001436131cc565b404284604051602001611e3094939291906127ef565b60408051601f19818403018152919052805160209091012092915050565b6000611e62846001600160a01b03166121d1565b15611f5e57836001600160a01b031663150b7a02611e7e61152d565b8786866040518563ffffffff1660e01b8152600401611ea094939291906128f8565b602060405180830381600087803b158015611eba57600080fd5b505af1925050508015611eea575060408051601f3d908101601f19168201909252611ee791810190612678565b60015b611f44573d808015611f18576040519150601f19603f3d011682016040523d82523d6000602084013e611f1d565b606091505b508051611f3c5760405162461bcd60e51b815260040161088090612a8d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a6a565b506001610a6a565b60008383834630604051602001611f81959493929190612977565b6040516020818303038152906040528051906020012090509392505050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001611ff184610f06565b611ffb91906131cc565b60008381526007602052604090205490915080821461204e576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612093906001906131cc565b600083815260096020526040812054600880549394509092849081106120c957634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600883815481106120f857634e487b7160e01b600052603260045260246000fd5b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061213e57634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061216583610f06565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6121a883836121d7565b6121b56000848484611e4e565b6109385760405162461bcd60e51b815260040161088090612a8d565b3b151590565b6001600160a01b0382166121fd5760405162461bcd60e51b815260040161088090612e2f565b61220681611510565b156122235760405162461bcd60e51b815260040161088090612b25565b61222f60008383611c16565b6001600160a01b03821660009081526003602052604081208054600192906122589084906131a0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8280546122c29061320f565b90600052602060002090601f0160209004810192826122e4576000855561232a565b82601f106122fd57805160ff191683800117855561232a565b8280016001018555821561232a579182015b8281111561232a57825182559160200191906001019061230f565b5061233692915061233a565b5090565b5b80821115612336576000815560010161233b565b600067ffffffffffffffff8084111561236a5761236a6132a5565b604051601f8501601f19168101602001828111828210171561238e5761238e6132a5565b6040528481529150818385018610156123a657600080fd5b8484602083013760006020868301015250509392505050565b60008083601f8401126123d0578081fd5b50813567ffffffffffffffff8111156123e7578182fd5b602083019150836020808302850101111561240157600080fd5b9250929050565b600082601f830112612418578081fd5b6124278383356020850161234f565b9392505050565b60006020828403121561243f578081fd5b8135612427816132bb565b6000806040838503121561245c578081fd5b8235612467816132bb565b91506020830135612477816132bb565b809150509250929050565b600080600060608486031215612496578081fd5b83356124a1816132bb565b925060208401356124b1816132bb565b929592945050506040919091013590565b600080600080608085870312156124d7578081fd5b84356124e2816132bb565b935060208501356124f2816132bb565b925060408501359150606085013567ffffffffffffffff811115612514578182fd5b61252087828801612408565b91505092959194509250565b6000806040838503121561253e578182fd5b8235612549816132bb565b91506020830135612477816132d0565b6000806000806060858703121561256e578384fd5b8435612579816132bb565b935060208501359250604085013567ffffffffffffffff81111561259b578283fd5b6125a7878288016123bf565b95989497509550505050565b600080604083850312156125c5578182fd5b82356125d0816132bb565b946020939093013593505050565b6000602082840312156125ef578081fd5b8151612427816132d0565b60006020828403121561260b578081fd5b5035919050565b600080600060408486031215612626578283fd5b83359250602084013567ffffffffffffffff811115612643578283fd5b61264f868287016123bf565b9497909650939450505050565b60006020828403121561266d578081fd5b8135612427816132de565b600060208284031215612689578081fd5b8151612427816132de565b600080602083850312156126a6578182fd5b823567ffffffffffffffff808211156126bd578384fd5b818501915085601f8301126126d0578384fd5b8135818111156126de578485fd5b8660208285010111156126ef578485fd5b60209290920196919550909350505050565b60008060408385031215612713578182fd5b823567ffffffffffffffff811115612729578283fd5b61273585828601612408565b95602094909401359450505050565b600060208284031215612755578081fd5b813567ffffffffffffffff81111561276b578182fd5b8201601f8101841361277b578182fd5b610a6a8482356020840161234f565b600081518084526127a28160208601602086016131e3565b601f01601f19169290920160200192915050565b600081516127c88185602086016131e3565b9290920192915050565b60609190911b6bffffffffffffffffffffffff1916815260140190565b60609490941b6bffffffffffffffffffffffff1916845260148401929092526034830152605482015260740190565b918252602082015260400190565b825460009081906002810460018083168061284857607f831692505b602080841082141561286857634e487b7160e01b87526022600452602487fd5b81801561287c576001811461288d576128b9565b60ff198616895284890196506128b9565b6128968b613194565b885b868110156128b15781548b820152908501908301612898565b505084890196505b505050505050611dbf81856127b6565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611de89083018461278a565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b9283526001600160a01b03919091166020830152604082015260600190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252612427602083018461278a565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b60208082526010908201526f135a5b9d081b9bdd081cdd185c9d195960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252601d908201527f416c6c20506f6e6965732068617665206265656e2073756d6d6f6e6564000000604082015260600190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526017908201527f5369676e6174757265206e6f74206279207369676e6572000000000000000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201526839903737ba1037bbb760b91b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526011908201527010dbd91948185b1c9958591e481d5cd959607a1b604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b6020808252601a908201527f4c656166206e6f74206d61746368696e6720746865206e6f6465000000000000604082015260600190565b6020808252600e908201526d446f6e742062652067726565647960901b604082015260600190565b6020808252600e908201526d24b73b30b634b210383937b7b31760911b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60009081526020902090565b600082198211156131b3576131b3613279565b500190565b6000826131c7576131c761328f565b500490565b6000828210156131de576131de613279565b500390565b60005b838110156131fe5781810151838201526020016131e6565b8381111561127c5750506000910152565b60028104600182168061322357607f821691505b6020821081141561324457634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561325e5761325e613279565b5060010190565b6000826132745761327461328f565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610cb557600080fd5b8015158114610cb557600080fd5b6001600160e01b031981168114610cb557600080fdfe507574207468792052756e65206f6e2074686520476174652c20616e6420656e7465722074686520456c797369616e204669656c64732ea264697066735822122032fb1c34b68bb61dd96c7001be006619a6f18139ee023fc46a71e46e1114f5d464736f6c634300080000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000770656e64696e6700000000000000000000000000000000000000000000000000