[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "ApproveToCaller", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses", "type": "address[]" } ], "name": "addAllowList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "addressMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowList", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "flipAllowList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "flipPaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPerTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxPerWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "onlyAllowList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "royalty", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newExtension", "type": "string" } ], "name": "updateBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newURI", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newAmount", "type": "uint256" } ], "name": "updateCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newAmount", "type": "uint256" } ], "name": "updateRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60e060405260346080818152906200222160a039600a90620000229082620002ea565b50604080518082019091526005815264173539b7b760d91b6020820152600b906200004e9082620002ea565b50600c805461ffff1916610101179055655af3107a4000600d556101f4600e556001600f8190556010553480156200008557600080fd5b50604051806040016040528060078152602001664465697469657360c81b8152506040518060400160405280600381526020016244545360e81b8152508160029081620000d39190620002ea565b506003620000e28282620002ea565b5050600160005550620000f5336200010f565b600160098190556200010990339062000161565b620003b6565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000805490829003620001875760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b17831790558284019083908390600080516020620022558339815191528180a4600183015b81811462000216578083600060008051602062002255833981519152600080a4600101620001ed565b50816000036200023857604051622e076360e81b815260040160405180910390fd5b60005550505050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200027157607f821691505b6020821081036200029257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024157600081815260208120601f850160051c81016020861015620002c15750805b601f850160051c820191505b81811015620002e257828155600101620002cd565b505050505050565b81516001600160401b0381111562000306576200030662000246565b6200031e816200031784546200025c565b8462000298565b602080601f8311600181146200035657600084156200033d5750858301515b600019600386901b1c1916600185901b178555620002e2565b600085815260208120601f198616915b82811015620003875788860151825594840194600190910190840162000366565b5085821015620003a65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611e5b80620003c66000396000f3fe60806040526004361061021a5760003560e01c8063453c23101161012357806395d89b41116100ab578063c87b56dd1161006f578063c87b56dd1461061b578063e985e9c51461063b578063f2fde38b1461065b578063f968adbe1461067b578063fa30297e1461069157600080fd5b806395d89b411461059e578063a0712d68146105b3578063a22cb465146105c6578063b88d4fde146105e6578063c66828621461060657600080fd5b806370a08231116100f257806370a082311461050b578063715018a61461052b5780638da5cb5b146105405780638fffd8b51461055e578063931688cb1461057e57600080fd5b8063453c2310146104a65780635c975abb146104bc5780636352211e146104d65780636c0360eb146104f657600080fd5b8063252e3ab9116101a65780632a55205a116101755780632a55205a146103fd5780633232c10b1461043c57806332cb6b0c1461045c578063333171bb1461047157806342842e0e1461048657600080fd5b8063252e3ab914610366578063255323ff146103855780632848aeaf146103a557806329ee566c146103e757600080fd5b806313faede6116101ed57806313faede6146102d057806318160ddd146102f457806320843e871461031157806323b872dd1461032657806323c5a0881461034657600080fd5b806301ffc9a71461021f57806306fdde0314610254578063081812fc14610276578063095ea7b3146102ae575b600080fd5b34801561022b57600080fd5b5061023f61023a36600461166f565b6106be565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b506102696106e9565b60405161024b91906116dc565b34801561028257600080fd5b506102966102913660046116ef565b61077b565b6040516001600160a01b03909116815260200161024b565b3480156102ba57600080fd5b506102ce6102c9366004611724565b6107bf565b005b3480156102dc57600080fd5b506102e6600d5481565b60405190815260200161024b565b34801561030057600080fd5b5060015460005403600019016102e6565b34801561031d57600080fd5b506102ce61085f565b34801561033257600080fd5b506102ce61034136600461174e565b610884565b34801561035257600080fd5b506102ce6103613660046116ef565b610a1d565b34801561037257600080fd5b50600c5461023f90610100900460ff1681565b34801561039157600080fd5b506102ce6103a036600461178a565b610a2a565b3480156103b157600080fd5b506103d56103c03660046117ff565b60116020526000908152604090205460ff1681565b60405160ff909116815260200161024b565b3480156103f357600080fd5b506102e6600e5481565b34801561040957600080fd5b5061041d61041836600461181a565b610aac565b604080516001600160a01b03909316835260208301919091520161024b565b34801561044857600080fd5b506102ce6104573660046118c8565b610ae7565b34801561046857600080fd5b506102e6602c81565b34801561047d57600080fd5b506102ce610aff565b34801561049257600080fd5b506102ce6104a136600461174e565b610b1b565b3480156104b257600080fd5b506102e660105481565b3480156104c857600080fd5b50600c5461023f9060ff1681565b3480156104e257600080fd5b506102966104f13660046116ef565b610b36565b34801561050257600080fd5b50610269610b41565b34801561051757600080fd5b506102e66105263660046117ff565b610bcf565b34801561053757600080fd5b506102ce610c1e565b34801561054c57600080fd5b506008546001600160a01b0316610296565b34801561056a57600080fd5b506102ce6105793660046116ef565b610c32565b34801561058a57600080fd5b506102ce610599366004611911565b610c3f565b3480156105aa57600080fd5b50610269610c54565b6102ce6105c13660046116ef565b610c63565b3480156105d257600080fd5b506102ce6105e1366004611971565b610faf565b3480156105f257600080fd5b506102ce6106013660046119ad565b611044565b34801561061257600080fd5b5061026961108e565b34801561062757600080fd5b506102696106363660046116ef565b61109b565b34801561064757600080fd5b5061023f610656366004611a29565b611122565b34801561066757600080fd5b506102ce6106763660046117ff565b611150565b34801561068757600080fd5b506102e6600f5481565b34801561069d57600080fd5b506102e66106ac3660046117ff565b60126020526000908152604090205481565b60006001600160e01b0319821663152a902d60e11b14806106e357506106e3826111c9565b92915050565b6060600280546106f890611a5c565b80601f016020809104026020016040519081016040528092919081815260200182805461072490611a5c565b80156107715780601f1061074657610100808354040283529160200191610771565b820191906000526020600020905b81548152906001019060200180831161075457829003601f168201915b5050505050905090565b600061078682611217565b6107a3576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006107ca82610b36565b9050336001600160a01b03821614610803576107e68133611122565b610803576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b61086761124c565b600c805461ff001981166101009182900460ff1615909102179055565b600061088f826112a6565b9050836001600160a01b0316816001600160a01b0316146108c25760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b0388169091141761090f576108f28633611122565b61090f57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661093657604051633a954ecd60e21b815260040160405180910390fd5b801561094157600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036109d3576001840160008181526004602052604081205490036109d15760005481146109d15760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b610a2561124c565b600d55565b610a3261124c565b60005b81811015610aa757600160116000858585818110610a5557610a55611a96565b9050602002016020810190610a6a91906117ff565b6001600160a01b031681526020810191909152604001600020805460ff191660ff9290921691909117905580610a9f81611ac2565b915050610a35565b505050565b600080610ac16008546001600160a01b031690565b612710600e5485610ad29190611adb565b610adc9190611b10565b915091509250929050565b610aef61124c565b600b610afb8282611b6a565b5050565b610b0761124c565b600c805460ff19811660ff90911615179055565b610aa783838360405180602001604052806000815250611044565b60006106e3826112a6565b600a8054610b4e90611a5c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a90611a5c565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b505050505081565b60006001600160a01b038216610bf8576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b610c2661124c565b610c30600061131c565b565b610c3a61124c565b600e55565b610c4761124c565b600a610aa7828483611c2a565b6060600380546106f890611a5c565b600260095403610cba5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600955600154600054602c9183910360001901610cd99190611ceb565b1115610d205760405162461bcd60e51b8152602060048201526016602482015275416d6f756e74206578636565647320737570706c792160501b6044820152606401610cb1565b6008546001600160a01b03163314610eb857600c54610100900460ff1615610da4573360009081526011602052604090205460ff16600114610da45760405162461bcd60e51b815260206004820152601960248201527f596f75206172656e2774206f6e20416c6c6f77204c69737421000000000000006044820152606401610cb1565b600f548111158015610dd2575060105433600090815260126020526040902054610dcf908390611ceb565b11155b610e1e5760405162461bcd60e51b815260206004820152601960248201527f596f752063616e2774206d696e742074686174206d616e7921000000000000006044820152606401610cb1565b600c5460ff1615610e665760405162461bcd60e51b81526020600482015260126024820152714d696e74696e67206973207061757365642160701b6044820152606401610cb1565b80600d54610e749190611adb565b3414610eb85760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742066756e64732160681b6044820152606401610cb1565b6000610ecc6008546001600160a01b031690565b6001600160a01b03163460405160006040518083038185875af1925050503d8060008114610f16576040519150601f19603f3d011682016040523d82523d6000602084013e610f1b565b606091505b5050905080610f775760405162461bcd60e51b815260206004820152602260248201527f4661696c656420746f207472616e736665722066756e647320746f206f776e65604482015261722160f01b6064820152608401610cb1565b3360009081526012602052604081208054849290610f96908490611ceb565b90915550610fa69050338361136e565b50506001600955565b336001600160a01b03831603610fd85760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61104f848484610884565b6001600160a01b0383163b156110885761106b8484848461146c565b611088576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b600b8054610b4e90611a5c565b60606110a682611217565b6110c357604051630a14c4b560e41b815260040160405180910390fd5b600a80546110d090611a5c565b90506000036110ee57604051806020016040528060008152506106e3565b600a6110f983611558565b600b60405160200161110d93929190611d71565b60405160208183030381529060405292915050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b61115861124c565b6001600160a01b0381166111bd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cb1565b6111c68161131c565b50565b60006301ffc9a760e01b6001600160e01b0319831614806111fa57506380ac58cd60e01b6001600160e01b03198316145b806106e35750506001600160e01b031916635b5e139f60e01b1490565b60008160011115801561122b575060005482105b80156106e3575050600090815260046020526040902054600160e01b161590565b6008546001600160a01b03163314610c305760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cb1565b60008180600111611303576000548110156113035760008181526004602052604081205490600160e01b82169003611301575b806000036112fa5750600019016000818152600460205260409020546112d9565b9392505050565b505b604051636f96cda160e11b815260040160405180910390fd5b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008054908290036113935760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461144257808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460010161140a565b508160000361146357604051622e076360e81b815260040160405180910390fd5b60005550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906114a1903390899088908890600401611da4565b6020604051808303816000875af19250505080156114dc575060408051601f3d908101601f191682019092526114d991810190611de1565b60015b61153a573d80801561150a576040519150601f19603f3d011682016040523d82523d6000602084013e61150f565b606091505b508051600003611532576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b60608160000361157f5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156115a9578061159381611ac2565b91506115a29050600a83611b10565b9150611583565b60008167ffffffffffffffff8111156115c4576115c461183c565b6040519080825280601f01601f1916602001820160405280156115ee576020820181803683370190505b5090505b841561155057611603600183611dfe565b9150611610600a86611e11565b61161b906030611ceb565b60f81b81838151811061163057611630611a96565b60200101906001600160f81b031916908160001a905350611652600a86611b10565b94506115f2565b6001600160e01b0319811681146111c657600080fd5b60006020828403121561168157600080fd5b81356112fa81611659565b60005b838110156116a757818101518382015260200161168f565b50506000910152565b600081518084526116c881602086016020860161168c565b601f01601f19169290920160200192915050565b6020815260006112fa60208301846116b0565b60006020828403121561170157600080fd5b5035919050565b80356001600160a01b038116811461171f57600080fd5b919050565b6000806040838503121561173757600080fd5b61174083611708565b946020939093013593505050565b60008060006060848603121561176357600080fd5b61176c84611708565b925061177a60208501611708565b9150604084013590509250925092565b6000806020838503121561179d57600080fd5b823567ffffffffffffffff808211156117b557600080fd5b818501915085601f8301126117c957600080fd5b8135818111156117d857600080fd5b8660208260051b85010111156117ed57600080fd5b60209290920196919550909350505050565b60006020828403121561181157600080fd5b6112fa82611708565b6000806040838503121561182d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561186d5761186d61183c565b604051601f8501601f19908116603f011681019082821181831017156118955761189561183c565b816040528093508581528686860111156118ae57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156118da57600080fd5b813567ffffffffffffffff8111156118f157600080fd5b8201601f8101841361190257600080fd5b61155084823560208401611852565b6000806020838503121561192457600080fd5b823567ffffffffffffffff8082111561193c57600080fd5b818501915085601f83011261195057600080fd5b81358181111561195f57600080fd5b8660208285010111156117ed57600080fd5b6000806040838503121561198457600080fd5b61198d83611708565b9150602083013580151581146119a257600080fd5b809150509250929050565b600080600080608085870312156119c357600080fd5b6119cc85611708565b93506119da60208601611708565b925060408501359150606085013567ffffffffffffffff8111156119fd57600080fd5b8501601f81018713611a0e57600080fd5b611a1d87823560208401611852565b91505092959194509250565b60008060408385031215611a3c57600080fd5b611a4583611708565b9150611a5360208401611708565b90509250929050565b600181811c90821680611a7057607f821691505b602082108103611a9057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ad457611ad4611aac565b5060010190565b6000816000190483118215151615611af557611af5611aac565b500290565b634e487b7160e01b600052601260045260246000fd5b600082611b1f57611b1f611afa565b500490565b601f821115610aa757600081815260208120601f850160051c81016020861015611b4b5750805b601f850160051c820191505b81811015610a1557828155600101611b57565b815167ffffffffffffffff811115611b8457611b8461183c565b611b9881611b928454611a5c565b84611b24565b602080601f831160018114611bcd5760008415611bb55750858301515b600019600386901b1c1916600185901b178555610a15565b600085815260208120601f198616915b82811015611bfc57888601518255948401946001909101908401611bdd565b5085821015611c1a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b67ffffffffffffffff831115611c4257611c4261183c565b611c5683611c508354611a5c565b83611b24565b6000601f841160018114611c8a5760008515611c725750838201355b600019600387901b1c1916600186901b178355611ce4565b600083815260209020601f19861690835b82811015611cbb5786850135825560209485019460019092019101611c9b565b5086821015611cd85760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b808201808211156106e3576106e3611aac565b60008154611d0b81611a5c565b60018281168015611d235760018114611d3857611d67565b60ff1984168752821515830287019450611d67565b8560005260208060002060005b85811015611d5e5781548a820152908401908201611d45565b50505082870194505b5050505092915050565b6000611d7d8286611cfe565b8451611d8d81836020890161168c565b611d9981830186611cfe565b979650505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611dd7908301846116b0565b9695505050505050565b600060208284031215611df357600080fd5b81516112fa81611659565b818103818111156106e3576106e3611aac565b600082611e2057611e20611afa565b50069056fea264697066735822122094455adf117f843c3755fcb7347f016a858f5f948ae316ca17008184599a0a3e64736f6c6343000810003368747470733a2f2f6d657461646174612d6170692d312e68657269746167656e6674732e7265706c2e636f2f6170692f7572692fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef