0 txs
125 calls
constructor
No constructor.
functions
ETH_WEI
viewfunction ETH_WEI() view returns (uint256)
FULL_MATH_SHIFT
viewfunction FULL_MATH_SHIFT() view returns (uint256)
getClassicVectorMintFeeCap
viewfunction getClassicVectorMintFeeCap(bytes32 vectorId, uint256 numToMint, address minter, address currency, address collectionContract) view returns (uint256, bool)
getGatedVectorMintFee
viewfunction getGatedVectorMintFee(bytes32 vectorId, uint256 numToMint, address minter, address currency, address collectionContract) view returns (uint256, address)
getMechanicMintFee
viewfunction getMechanicMintFee(bytes32 mechanicVectorId, uint32 numToMint, address mechanic, address minter, address collectionContract) view returns (uint256)
getMechanicVectorMintFee
viewfunction getMechanicVectorMintFee(bytes32 vectorId, uint256 numToMint, address minter) view returns (uint256, address)
getPublicVectorMintFee
viewfunction getPublicVectorMintFee(uint256 vectorId, uint256 numToMint, address minter) view returns (uint256, address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
delistERC20
nonpayablefunction delistERC20(address erc20)
initialize
nonpayablefunction initialize(address mintManager, address platform, address gaslessMechanic, address backupReferralManager, address backupDiscreteDutchAuctionMechanic, address backupRankedAuctionMechanic)
processClassicVectorMintFeeCap
payablefunction processClassicVectorMintFeeCap(bytes32 vectorId, bool payoutCreatorReward, address vectorPaymentRecipient, address currency, uint256 amount, address minter, bool is1155) payable returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
setAllowlistedERC20Config
nonpayablefunction setAllowlistedERC20Config(address erc20, tuple config)
setBackupDiscreteDutchAuctionMechanic
nonpayablefunction setBackupDiscreteDutchAuctionMechanic(address newBackupDiscreteDutchAuctionMechanic)
setBackupRankedAuctionMechanic
nonpayablefunction setBackupRankedAuctionMechanic(address newBackupRankedAuctionMechanic)
setBackupReferralManager
nonpayablefunction setBackupReferralManager(address newBackupReferralManager)
setCreatorRewardsEnabled
nonpayablefunction setCreatorRewardsEnabled(bool creatorRewardsEnabled)
setGaslessMechanic
nonpayablefunction setGaslessMechanic(address newGaslessMechanic)
setMintManager
nonpayablefunction setMintManager(address newMintManager)
subsidizeMintConfig
nonpayablefunction subsidizeMintConfig(bytes32 vectorId, address minter)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unsubsidizeMintVector
nonpayablefunction unsubsidizeMintVector(bytes32 vectorId, address minter)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawERC20
nonpayablefunction withdrawERC20(address currency, uint256 amountToWithdraw, address recipient)
withdrawNativeGasToken
nonpayablefunction withdrawNativeGasToken(uint256 amountToWithdraw, address recipient)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ReferralPayout
event ReferralPayout(bytes32 indexed vectorId, address indexed referrer, address indexed currency, uint256 referralPayout)
Upgraded
event Upgraded(address indexed implementation)
errors
EtherSendFailed
error EtherSendFailed()
InvalidERC20
error InvalidERC20()
InvalidERC20Config
error InvalidERC20Config()
InvalidEtherMintFeeCap
error InvalidEtherMintFeeCap()
InvalidReferrer
error InvalidReferrer()
InvalidVectorType
error InvalidVectorType()
NotMintManager
error NotMintManager()
Unauthorized
error Unauthorized()
creation bytecode
0x60a06040523060805234801561001457600080fd5b50608051612d6361004c600039600081816104ee01528181610537015281816105c001528181610600015261067c0152612d636000f3fe60806040526004361061013c5760003560e01c80632d6829b2146101415780632dda7bc5146101635780633659cfe61461018e5780634f1ef286146101ae57806352d1902d146101c15780635fc3ea0b146101d657806362a31a09146101f657806362e03bcc14610216578063639c93da146102365780636478cd98146102565780636f18e93f14610276578063715018a61461028957806376c198931461029e578063860caf0a146102d35780638830eac0146102f35780638da5cb5b146103135780639247ef90146103405780639690ca56146103605780639cab9ce814610380578063b2a3a9a0146103a0578063b8fd5cf5146103c0578063bde5703f146103e0578063cc2a9a5b1461041d578063d63695381461043d578063f2fde38b1461045d578063f67dcf881461047d578063fe1e8e7e1461049d575b600080fd5b34801561014d57600080fd5b5061016161015c366004612364565b6104b9565b005b34801561016f57600080fd5b5061017b600160c01b81565b6040519081526020015b60405180910390f35b34801561019a57600080fd5b506101616101a9366004612364565b6104e3565b6101616101bc3660046123ec565b6105b5565b3480156101cd57600080fd5b5061017b61066f565b3480156101e257600080fd5b506101616101f1366004612497565b61071e565b34801561020257600080fd5b506101616102113660046124d9565b61079d565b34801561022257600080fd5b50610161610231366004612364565b610825565b34801561024257600080fd5b50610161610251366004612364565b610855565b34801561026257600080fd5b50610161610271366004612517565b61087f565b61017b610284366004612534565b61089a565b34801561029557600080fd5b50610161610c40565b3480156102aa57600080fd5b506102be6102b93660046125b8565b610c54565b60408051928352901515602083015201610185565b3480156102df57600080fd5b506101616102ee366004612364565b610cbe565b3480156102ff57600080fd5b5061016161030e366004612364565b610ce8565b34801561031f57600080fd5b50610328610d12565b6040516001600160a01b039091168152602001610185565b34801561034c57600080fd5b5061016161035b366004612617565b610d21565b34801561036c57600080fd5b5061017b61037b366004612658565b610de4565b34801561038c57600080fd5b5061016161039b3660046124d9565b610e32565b3480156103ac57600080fd5b506101616103bb3660046124d9565b610eba565b3480156103cc57600080fd5b506101616103db366004612364565b610f32565b3480156103ec57600080fd5b506104006103fb3660046125b8565b610f54565b604080519283526001600160a01b03909116602083015201610185565b34801561042957600080fd5b5061016161043836600461269b565b610fb7565b34801561044957600080fd5b5061040061045836600461271d565b611141565b34801561046957600080fd5b50610161610478366004612364565b61122b565b34801561048957600080fd5b5061040061049836600461271d565b6112a1565b3480156104a957600080fd5b5061017b670de0b6b3a764000081565b6104c16113a8565b606780546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105355760405162461bcd60e51b815260040161052c9061274b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610567611407565b6001600160a01b03161461058d5760405162461bcd60e51b815260040161052c90612785565b61059681611423565b604080516000808252602082019092526105b29183919061142b565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105fe5760405162461bcd60e51b815260040161052c9061274b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610630611407565b6001600160a01b0316146106565760405162461bcd60e51b815260040161052c90612785565b61065f82611423565b61066b8282600161142b565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461070a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161052c565b50600080516020612d108339815191525b90565b6107266113a8565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb9061075490849086906004016127bf565b6020604051808303816000875af1158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906127e3565b50505050565b6107a56113a8565b60006107b18383611596565b60008181526066602052604090205490915060ff1661080b5760405162461bcd60e51b8152602060048201526016602482015275139bdd08185b1c9958591e481cdd589cda591a5e995960521b604482015260640161052c565b6000908152606660205260409020805460ff191690555050565b61082d6113a8565b606980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b61085d6113a8565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b6108876113a8565b6069805460ff1916911515919091179055565b6065546000906001600160a01b031633146108bf576108bf639a04794d60e01b6115df565b6001600160a01b0385166108e4578334146108e4576108e46321ac1c7960e21b6115df565b60006108ee6115e9565b9050836001600160a01b0316816001600160a01b03161415610afe576000606461091987600a612800565b610923919061282d565b604051630a9d031560e01b8152600481018c90529091506000906001600160a01b03841690630a9d031590602401602060405180830381865afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610992919061285a565b90506001600160a01b038116158015906109b557506001600160a01b0381163214155b15610afb576001600160a01b038816610a39576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114610a15576040519150601f19603f3d011682016040523d82523d6000602084013e610a1a565b606091505b5050905080610a3357610a33637cd69c3960e11b6115df565b50610aac565b60405163a9059cbb60e01b81526001600160a01b0389169063a9059cbb90610a6790849086906004016127bf565b6020604051808303816000875af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906127e3565b505b876001600160a01b0316816001600160a01b03168c7f01bf363dbade8c9713473bfb336069d6c556e904f84103f174b5ef488657196985604051610af291815260200190565b60405180910390a45b50505b8715610c2f57600083610b1b57610b1660028761282d565b610b32565b600a610b28876008612800565b610b32919061282d565b90506001600160a01b038716610bb3576000886001600160a01b03168260405160006040518083038185875af1925050503d8060008114610b8f576040519150601f19603f3d011682016040523d82523d6000602084013e610b94565b606091505b5050905080610bad57610bad637cd69c3960e11b6115df565b50610c26565b60405163a9059cbb60e01b81526001600160a01b0388169063a9059cbb90610be1908b9085906004016127bf565b6020604051808303816000875af1158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2491906127e3565b505b9150610c359050565b60009150505b979650505050505050565b610c486113a8565b610c526000611783565b565b6000806000610c62846117d5565b9050610c6e888761189d565b15610c7e57600092509050610cb4565b6001600160a01b038516610ca95786610c96826118c8565b610ca09190612800565b92509050610cb4565b610ca085888361194b565b9550959350505050565b610cc66113a8565b606b80546001600160a01b0319166001600160a01b0392909216919091179055565b610cf06113a8565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b031690565b610d296113a8565b610d36602082018261288c565b6001600160601b031615801590610d6557506000610d5a6040830160208401612364565b6001600160a01b0316145b158015610dab5750610d7a602082018261288c565b6001600160601b0316158015610da957506000610d9d6040830160208401612364565b6001600160a01b031614155b155b15610dc057610dc06360c3620d60e11b6115df565b6001600160a01b0382166000908152606860205260409020819061079782826128a9565b6000610def84611aad565b80610dff5750610dff868461189d565b15610e0c57506000610e29565b8463ffffffff16610e1c83611e8a565b610e269190612800565b90505b95945050505050565b610e3a6113a8565b6000610e468383611596565b60008181526066602052604090205490915060ff1615610e9d5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481cdd589cda591a5e995960721b604482015260640161052c565b6000908152606660205260409020805460ff191660011790555050565b610ec26113a8565b6000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114610f0f576040519150601f19603f3d011682016040523d82523d6000602084013e610f14565b606091505b5050905080610f2d57610f2d637cd69c3960e11b6115df565b505050565b610f3a6113a8565b6001600160a01b0316600090815260686020526040812055565b600080610f61878661189d565b15610f7157506000905082610cb4565b6001600160a01b03841615610f9557610f8b848785611ea1565b8491509150610cb4565b85610f9f84611e8a565b610fa99190612800565b976000975095505050505050565b600054610100900460ff1615808015610fd75750600054600160ff909116105b80610ff85750610fe630611fc1565b158015610ff8575060005460ff166001145b61105b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161052c565b6000805460ff19166001179055801561107e576000805461ff0019166101001790555b611086611fd0565b61108f86611783565b606580546001600160a01b03199081166001600160a01b038a81169190911790925560678054821688841617905560698054610100600160a81b03191661010088851602179055606a80548216868416179055606b80549091169184169190911790558015611138576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b60655460405162820a0360e31b815260048101859052600091829182916001600160a01b03169063041050189060240160c060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b291906128eb565b80519091506001600160a01b03166111d4576111d463f8e6d17560e01b6115df565b6111e18160400151611aad565b806111f157506111f1868561189d565b15611203576000809250925050611223565b846112118260000151611e8a565b61121b9190612800565b600092509250505b935093915050565b6112336113a8565b6001600160a01b0381166112985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b6105b281611783565b6000806112ae858461189d565b156112be57506000905080611223565b60655460405163228c835960e21b8152600481018790526000916001600160a01b031690638a320d64906024016101c060405180830381865afa158015611309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132d91906129c0565b80519091506001600160a01b031661134f5761134f63f8e6d17560e01b6115df565b60c08101516001600160a01b031615611384576113758160c00151868360000151611ea1565b8160c001519250925050611223565b846113928260000151611e8a565b61139c9190612800565b60009250925050611223565b336113b1610d12565b6001600160a01b031614610c525760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052c565b600080516020612d10833981519152546001600160a01b031690565b6105b26113a8565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561145e57610f2d83611fff565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114b8575060408051601f3d908101601f191682019092526114b591810190612acb565b60015b61151b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161052c565b600080516020612d10833981519152811461158a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161052c565b50610f2d838383612099565b600082826040516020016115c192919091825260601b6001600160601b031916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b8060005260046000fd5b6000466001141561160d575073d3c63951b2ed18e8d92b5b251c3b636a45a547d090565b466121051415611630575073d9e58978808d17f99ccceab5195b052e972c018890565b46600a14156116525750739cf5b12d2e2a88083647ff2fe0610f818b28ec7790565b466276adf114156116765750737cb2cecfcffdcce0bf69366e52caec6bd719cd4490565b4661a4b11415611699575073617b2383d93909590fac0b2aaa547ec5615d82ef90565b46608914156116bb5750736fd07d4b5fd7093762fb2f278769aa7e2511d45c90565b4662014a3414156116df5750734619b9673241eb41b642dc04371100d238b73ffe90565b4662aa36a71415611703575073d33c1be264bb98f86e18cd816d5fd44e97cb716390565b46620f043a14156117275750739491aa1c2f46319a645637c4105f4199b251e4dd90565b46611388141561174a575073affc7c9bfb48ffd2a580e1a0d36f8cc7d45dcb5890565b4662082750141561176e5750734821b6e9ac0ccc590acce2442bb6bb32388c1cb790565b5060695461010090046001600160a01b031690565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000816001600160a01b031663cbab0bd36040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611831575060408051601f3d908101601f1916820190925261182e91810190612acb565b60015b6118705761183d612ae4565b806308c379a014156118665750611852612aff565b8061185d5750611868565b50600092915050565b505b506000919050565b7f3a9654d81ac4dafbb9a2fb1cd3efa3de2783ae40b06b17a456bf5922ed02a3a71492915050565b919050565b6000606660006118ad8585611596565b815260208101919091526040016000205460ff169392505050565b600080826118d75760016118da565b60025b60ff1690504660891415611901576118fa81671f6ee57fe042800061282d565b9392505050565b46620f043a141561191e576118fa816706f05b59d3b2000061282d565b46611388141561193a576118fa816730927f74c9de000061282d565b6118fa816602d79883d2000061282d565b6001600160a01b0380841660009081526068602090815260408083208151808301909252546001600160601b0381168252600160601b90049093169083015290818361199857600161199b565b60025b60ff16905081600001516001600160601b03166000146119e057815185906119cd9083906001600160601b031661282d565b6119d79190612800565b925050506118fa565b60208201516001600160a01b031615611a9457600082602001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611a37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5b9190612b9a565b505050505050905085611a6d826120be565b611a76876118c8565b611a809190612800565b611a8a9190612800565b93505050506118fa565b611aa4630eca12dd60e31b6115df565b50509392505050565b60004660011415611b055773dfee0ed4a217f37b3fa87624ee00fe5685bdc5096001600160a01b0383161480611aff57507394fa6e7fc2555ada63ea56cfff425558360f00746001600160a01b038316145b92915050565b466121051415611b585773922e9f8cc491facbd403afa143aa53ee9146474c6001600160a01b0383161480611aff5750506001600160a01b031673a748be280c9a00edaf7d04076fe8a93c59e95b031490565b46600a1415611baa5773b207774ac4e32ece47771e64bde5ec3894c1de6b6001600160a01b0383161480611aff5750506001600160a01b03167315753e20667961fb30d5aa92e2255b876568be7e1490565b4661a4b11415611bfd57737f75358787f880506c5dc6100386f77be8de0a306001600160a01b0383161480611aff5750506001600160a01b0316733a2afe86e594540cbf3ea345dd29e09228f186d21490565b466276adf11415611c5157730afb6566c836d1c4788cd2b54bd9ca0158cc2d3d6001600160a01b0383161480611aff5750506001600160a01b031673f12a4018647dd2275072967fd5f3ac5fef7a04711490565b4660891415611ca357734ccb72e7e0cd948af50bc7bf598fc4e027b70f986001600160a01b0383161480611aff5750506001600160a01b031673ae22cd8052d64e7c2af6b5e3045fab0a86c8334c1490565b4662aa36a71415611cf75773a2d14ca9985de170db128c8cb74cecb35eeaf47e6001600160a01b0383161480611aff5750506001600160a01b031673cebc3b3134fbef95ed13aecdf997d4371d0223851490565b4662014a341415611d4b57739958f83f383ca150bb2252b4275d3e3051be469f6001600160a01b0383161480611aff5750506001600160a01b0316734821b6e9ac0ccc590acce2442bb6bb32388c1cb71490565b46620f043a1415611d9f57735aa1c7f5f9d2e7f2664d3c1f454560c6dabed6c86001600160a01b0383161480611aff5750506001600160a01b0316739c602ce508e41ccaf2cf997d93a9fbe0166d8ae61490565b466113881415611df25773d8f0a3aa4067be3d70a5b46a795ad9df9e65cd3c6001600160a01b0383161480611aff5750506001600160a01b031673af4d61951a425ba60ac1e7ea6d51e92d2f4748e41490565b46620827501415611e465773f6c67c7bb7018e4609d571023196a4682fda6f2f6001600160a01b0383161480611aff5750506001600160a01b031673e019ff8033d9c761985a3ee1fa5d97cc9cf6d5c01490565b606a546001600160a01b0383811691161480611e6f5750606b546001600160a01b038381169116145b80611aff5750506067546001600160a01b0390811691161490565b600080611e96836117d5565b6118d75760016118da565b6001600160a01b0380841660009081526068602090815260408083208151808301909252546001600160601b0381168252600160601b9004909316908301529081611eeb846117d5565b611ef6576001611ef9565b60025b60ff16905081600001516001600160601b0316600014611f2b57815185906119cd9083906001600160601b031661282d565b60208201516001600160a01b031615611a9457600082602001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa69190612b9a565b505050505050905085611fb8826120be565b611a7687611e8a565b6001600160a01b03163b151590565b600054610100900460ff16611ff75760405162461bcd60e51b815260040161052c90612c29565b610c526120e9565b61200881611fc1565b61206a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161052c565b600080516020612d1083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6120a283612119565b6000825111806120af5750805b15610f2d576107978383612159565b6000611aff6120d66001600160a01b03841680612800565b670de0b6b3a7640000600160c01b61217e565b600054610100900460ff166121105760405162461bcd60e51b815260040161052c90612c29565b610c5233611783565b61212281611fff565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606118fa8383604051806060016040528060278152602001612d3060279139612231565b6000808060001985870985870292508281108382030391505080600014156121b857600084116121ad57600080fd5b5082900490506118fa565b8084116121c457600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6060600080856001600160a01b03168560405161224e9190612ca0565b600060405180830381855af49150503d8060008114612289576040519150601f19603f3d011682016040523d82523d6000602084013e61228e565b606091505b509150915061229f868383876122a9565b9695505050505050565b6060831561231357825161230c576122c085611fc1565b61230c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161052c565b508161231d565b61231d8383612325565b949350505050565b8151156123355781518083602001fd5b8060405162461bcd60e51b815260040161052c9190612cbc565b6001600160a01b03811681146105b257600080fd5b60006020828403121561237657600080fd5b81356118fa8161234f565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156123bc576123bc612381565b6040525050565b6040516101c081016001600160401b03811182821017156123e6576123e6612381565b60405290565b600080604083850312156123ff57600080fd5b823561240a8161234f565b91506020838101356001600160401b038082111561242757600080fd5b818601915086601f83011261243b57600080fd5b81358181111561244d5761244d612381565b6040519150612465601f8201601f1916850183612397565b808252878482850101111561247957600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806000606084860312156124ac57600080fd5b83356124b78161234f565b92506020840135915060408401356124ce8161234f565b809150509250925092565b600080604083850312156124ec57600080fd5b8235915060208301356124fe8161234f565b809150509250929050565b80151581146105b257600080fd5b60006020828403121561252957600080fd5b81356118fa81612509565b600080600080600080600060e0888a03121561254f57600080fd5b87359650602088013561256181612509565b955060408801356125718161234f565b945060608801356125818161234f565b93506080880135925060a08801356125988161234f565b915060c08801356125a881612509565b8091505092959891949750929550565b600080600080600060a086880312156125d057600080fd5b853594506020860135935060408601356125e98161234f565b925060608601356125f98161234f565b915060808601356126098161234f565b809150509295509295909350565b600080828403606081121561262b57600080fd5b83356126368161234f565b92506040601f198201121561264a57600080fd5b506020830190509250929050565b600080600080600060a0868803121561267057600080fd5b85359450602086013563ffffffff8116811461268b57600080fd5b935060408601356125e98161234f565b60008060008060008060c087890312156126b457600080fd5b86356126bf8161234f565b955060208701356126cf8161234f565b945060408701356126df8161234f565b935060608701356126ef8161234f565b925060808701356126ff8161234f565b915060a087013561270f8161234f565b809150509295509295509295565b60008060006060848603121561273257600080fd5b833592506020840135915060408401356124ce8161234f565b6020808252602c90820152600080516020612cf083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020612cf083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b03929092168252602082015260400190565b805161189881612509565b6000602082840312156127f557600080fd5b81516118fa81612509565b600081600019048311821515161561282857634e487b7160e01b600052601160045260246000fd5b500290565b60008261284a57634e487b7160e01b600052601260045260246000fd5b500490565b80516118988161234f565b60006020828403121561286c57600080fd5b81516118fa8161234f565b6001600160601b03811681146105b257600080fd5b60006020828403121561289e57600080fd5b81356118fa81612877565b81356128b481612877565b81546001600160601b03199081166001600160601b0392909216918217835560208401356128e18161234f565b60601b1617905550565b600060c082840312156128fd57600080fd5b60405160c081016001600160401b038111828210171561291f5761291f612381565b604052825161292d8161234f565b8152602083015161293d81612877565b602082015260408301516129508161234f565b6040820152606083015161296381612509565b6060820152608083015161297681612509565b608082015261298760a084016127d8565b60a08201529392505050565b805165ffffffffffff8116811461189857600080fd5b80516001600160c01b038116811461189857600080fd5b60006101c082840312156129d357600080fd5b6129db6123c3565b6129e48361284f565b81526129f260208401612993565b6020820152612a0360408401612993565b6040820152612a146060840161284f565b6060820152612a2560808401612993565b6080820152612a3660a08401612993565b60a0820152612a4760c0840161284f565b60c0820152612a5860e08401612993565b60e0820152610100612a6b818501612993565b90820152610120612a7d8482016129a9565b90820152610140612a8f848201612993565b90820152610160612aa18482016127d8565b90820152610180612ab38482016127d8565b908201526101a0928301519281019290925250919050565b600060208284031215612add57600080fd5b5051919050565b600060033d111561071b5760046000803e5060005160e01c90565b600060443d1015612b0d5790565b6040516003193d81016004833e81513d6001600160401b038083116024840183101715612b3c57505050505090565b8285019150815181811115612b545750505050505090565b843d8701016020828501011115612b6e5750505050505090565b612b7d60208286010187612397565b509095945050505050565b805161ffff8116811461189857600080fd5b600080600080600080600060e0888a031215612bb557600080fd5b8751612bc08161234f565b8097505060208801518060020b8114612bd857600080fd5b9550612be660408901612b88565b9450612bf460608901612b88565b9350612c0260808901612b88565b925060a088015160ff81168114612c1857600080fd5b60c08901519092506125a881612509565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015612c8f578181015183820152602001612c77565b838111156107975750506000910152565b60008251612cb2818460208701612c74565b9190910192915050565b6020815260008251806020840152612cdb816040850160208701612c74565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c634300080a000a