0 txs
0 calls
constructor
constructor(address oldFashionHatPunksAddress)
functions
backgroundColor
viewfunction backgroundColor() view returns (uint32)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
contractDescriptionJSON
viewfunction contractDescriptionJSON() view returns (string)
contractSealed
viewfunction contractSealed() view returns (bool)
contractURI
viewfunction contractURI() view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
hatDataContract
viewfunction hatDataContract() view returns (address)
hatRendererContract
viewfunction hatRendererContract() view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isMintActive
viewfunction isMintActive() view returns (bool)
localPunkSeeds
viewfunction localPunkSeeds(uint16) view returns (uint16)
maxMintsPerTransaction
viewfunction maxMintsPerTransaction() view returns (uint256)
maxSupply
viewfunction maxSupply() view returns (uint256)
mintedTokenIds
viewfunction mintedTokenIds() view returns (uint256[])
name
viewfunction name() view returns (string)
oldFashionHatPunksContract
viewfunction oldFashionHatPunksContract() view returns (address)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
punkSeeds
viewfunction punkSeeds(uint16 punkId) view returns (uint16)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenAttributes
viewfunction tokenAttributes(uint16 id) view returns (string)
tokenDescriptionJSON
viewfunction tokenDescriptionJSON() view returns (string)
tokenSVG
viewfunction tokenSVG(uint16 id) view returns (string)
tokenURI
viewfunction tokenURI(uint256 id) view returns (string)
totalMintCost
viewfunction totalMintCost(uint256 numTokens, address minter) view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
useLocalSeeds
viewfunction useLocalSeeds() view returns (bool)
walletOfOwner
viewfunction walletOfOwner(address _owner) view returns (uint256[])
approve
nonpayablefunction approve(address to, uint256 tokenId)
flipMintState
nonpayablefunction flipMintState()
mintFashionHatPunk
payablefunction mintFashionHatPunk(address toAddress, uint256 numTokens) payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
sealContract
nonpayablefunction sealContract()
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBackgroundColor
nonpayablefunction setBackgroundColor(uint32 _backgroundColor)
setContractDescription
nonpayablefunction setContractDescription(string _contractDescription)
setContractImagePunkId
nonpayablefunction setContractImagePunkId(uint16 _contractImagePunkId)
setExternalLink
nonpayablefunction setExternalLink(string _externalLink)
setHelperContracts
nonpayablefunction setHelperContracts(address hatDataAddress, address hatRendererAddress)
setMaxMintsPerTransaction
nonpayablefunction setMaxMintsPerTransaction(uint256 _maxMintsPerTransaction)
setPunkSeeds
nonpayablefunction setPunkSeeds(uint16[][] _punkSeeds)
setTokenDescription
nonpayablefunction setTokenDescription(string _tokenDescription)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateFreeMintsForWallet
nonpayablefunction updateFreeMintsForWallet(address wallet, uint256 newFreeMintCount)
withdraw
nonpayablefunction withdraw()
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
0x600b805463ffffffff60b81b191663a08a82ff60b81b17905561012c600e556102a06040526101ce60a08181529062003b8460c03980516200004a91600f916020909101906200021c565b50604051806101e001604052806101a7815260200162003d526101a7913980516200007e916010916020909101906200021c565b5060408051808201909152601b8082527f68747470733a2f2f66617368696f6e68617470756e6b732e636f6d00000000006020909201918252620000c5916011916200021c565b506012805461ffff1916611e7c179055348015620000e257600080fd5b5060405162003ef938038062003ef98339810160408190526200010591620002fc565b6040518060400160405280601181526020017046617368696f6e204861742050756e6b7360781b8152506040518060400160405280600781526020016648415450554e4b60c81b8152506127106200016c62000166620001c860201b60201c565b620001cc565b8251620001819060019060208601906200021c565b508151620001979060029060208501906200021c565b5060808190526004555050600b80546001600160a01b0319166001600160a01b039290921691909117905562000370565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280546200022a906200033f565b90600052602060002090601f0160209004810192826200024e576000855562000299565b82601f106200026957805160ff191683800117855562000299565b8280016001018555821562000299579182015b82811115620002995782518255916020019190600101906200027c565b50620002a7929150620002ab565b5090565b5b80821115620002a75760008155600101620002ac565b60006001600160a01b0382165b92915050565b620002e081620002c2565b8114620002ec57600080fd5b50565b8051620002cf81620002d5565b600060208284031215620003135762000313600080fd5b6000620003218484620002ef565b949350505050565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200035457607f821691505b602082108114156200036a576200036a62000329565b50919050565b6080516137e3620003a16000396000818161083001528181610dcd01528181610fef015261162001526137e36000f3fe6080604052600436106102ad5760003560e01c80636352211e11610175578063ae2809b6116100dc578063c87b56dd11610095578063e8a3d4851161006f578063e8a3d48514610869578063e985e9c51461087e578063f2fde38b146108c7578063f754dd9b146108e757600080fd5b8063c87b56dd14610801578063d5abeb0114610821578063d85c89db1461085457600080fd5b8063ae2809b614610758578063af70bc461461076b578063b0892e5b1461078b578063b6501637146107ab578063b88d4fde146107cc578063bf4b4ddf146107ec57600080fd5b806379268b071161012e57806379268b07146106a55780638da5cb5b146106c55780638f67acd2146106e357806395d89b4114610703578063a22cb46514610718578063a87f30ef1461073857600080fd5b80636352211e1461060557806364aa0c791461062557806368bd580e1461063b57806370a0823114610650578063715018a614610670578063717f20b61461068557600080fd5b806323b872dd11610219578063456ab21b116101d2578063456ab21b146105485780634822dd9e1461056857806359c74f29146105895780635b92ac0d1461059e5780635d59b23f146105bf57806363120ecc146105f057600080fd5b806323b872dd1461046857806330f2a766146104885780633ccfd60b146104b55780633cf676f6146104ca57806342842e0e146104fb578063438b63001461051b57600080fd5b80630b534c961161026b5780630b534c96146103995780630d912681146103b957806317b7888a146103d957806318160ddd146103f9578063192eae8d1461041b5780631f9179211461044857600080fd5b8062d5da02146102b257806301ffc9a7146102d457806306fdde031461030a578063081812fc1461032c578063095ea7b3146103595780630a5b6e4f14610379575b600080fd5b3480156102be57600080fd5b506102d26102cd3660046123ed565b610907565b005b3480156102e057600080fd5b506102f46102ef36600461244a565b61097b565b6040516103019190612475565b60405180910390f35b34801561031657600080fd5b5061031f6109cd565b60405161030191906124e1565b34801561033857600080fd5b5061034c610347366004612503565b610a5f565b604051610301919061253e565b34801561036557600080fd5b506102d2610374366004612560565b610aaf565b34801561038557600080fd5b5061031f6103943660046125b2565b610b35565b3480156103a557600080fd5b506102d26103b43660046125d3565b610bb5565b3480156103c557600080fd5b506102d26103d43660046125b2565b610c37565b3480156103e557600080fd5b506102d26103f436600461273b565b610ca3565b34801561040557600080fd5b5061040e610dc6565b604051610301919061277c565b34801561042757600080fd5b5061043b6104363660046125b2565b610dfb565b6040516103019190612794565b34801561045457600080fd5b506102d26104633660046123ed565b610ea0565b34801561047457600080fd5b506102d26104833660046127a2565b610f07565b34801561049457600080fd5b50600b546104a8906001600160a01b031681565b6040516103019190612811565b3480156104c157600080fd5b506102d2610f38565b3480156104d657600080fd5b50600b546104ee90600160b81b900463ffffffff1681565b604051610301919061282b565b34801561050757600080fd5b506102d26105163660046127a2565b610f6e565b34801561052757600080fd5b5061053b610536366004612839565b610f89565b60405161030191906128b7565b34801561055457600080fd5b50600a546104a8906001600160a01b031681565b34801561057457600080fd5b50600b546102f490600160a01b900460ff1681565b34801561059557600080fd5b506102d26110a7565b3480156105aa57600080fd5b50600b546102f490600160b01b900460ff1681565b3480156105cb57600080fd5b5061043b6105da3660046125b2565b600c6020526000908152604090205461ffff1681565b3480156105fc57600080fd5b5061031f6110f2565b34801561061157600080fd5b5061034c610620366004612503565b611180565b34801561063157600080fd5b5061040e600e5481565b34801561064757600080fd5b506102d26111b5565b34801561065c57600080fd5b5061040e61066b366004612839565b61121e565b34801561067c57600080fd5b506102d2611262565b34801561069157600080fd5b5061031f6106a03660046125b2565b611296565b3480156106b157600080fd5b506102d26106c0366004612503565b6112ea565b3480156106d157600080fd5b506000546001600160a01b031661034c565b3480156106ef57600080fd5b506102d26106fe366004612560565b611319565b34801561070f57600080fd5b5061031f61135f565b34801561072457600080fd5b506102d26107333660046128db565b61136e565b34801561074457600080fd5b5061040e61075336600461290e565b611379565b6102d2610766366004612560565b611413565b34801561077757600080fd5b506102d2610786366004612947565b611509565b34801561079757600080fd5b506009546104a8906001600160a01b031681565b3480156107b757600080fd5b50600b546102f490600160a81b900460ff1681565b3480156107d857600080fd5b506102d26107e7366004612968565b611583565b3480156107f857600080fd5b5061053b6115bb565b34801561080d57600080fd5b5061031f61081c366004612503565b6116ab565b34801561082d57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061040e565b34801561086057600080fd5b5061031f6116eb565b34801561087557600080fd5b5061031f6116f8565b34801561088a57600080fd5b506102f46108993660046125d3565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b3480156108d357600080fd5b506102d26108e2366004612839565b611797565b3480156108f357600080fd5b506102d26109023660046123ed565b6117f3565b6000546001600160a01b0316331461093a5760405162461bcd60e51b815260040161093190612a1c565b60405180910390fd5b600b54600160a81b900460ff16156109645760405162461bcd60e51b815260040161093190612a53565b805161097790600f90602084019061225e565b5050565b60006001600160e01b031982166380ac58cd60e01b14806109ac57506001600160e01b03198216635b5e139f60e01b145b806109c757506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546109dc90612a79565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0890612a79565b8015610a555780601f10610a2a57610100808354040283529160200191610a55565b820191906000526020600020905b815481529060010190602001808311610a3857829003601f168201915b5050505050905090565b6000818152600560205260408120546001600160a01b0316610a935760405162461bcd60e51b815260040161093190612af2565b506000908152600760205260409020546001600160a01b031690565b6000610aba82611180565b9050806001600160a01b0316836001600160a01b03161415610aee5760405162461bcd60e51b815260040161093190612b40565b336001600160a01b0382161480610b0a5750610b0a8133610899565b610b265760405162461bcd60e51b815260040161093190612baa565b610b30838361185a565b505050565b6009546060906001600160a01b0316638bcbf89a83610b5381610dfb565b6040518363ffffffff1660e01b8152600401610b70929190612bba565b600060405180830381865afa158015610b8d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109c79190810190612c2d565b6000546001600160a01b03163314610bdf5760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff1615610c095760405162461bcd60e51b815260040161093190612a53565b600980546001600160a01b039384166001600160a01b031991821617909155600a8054929093169116179055565b6000546001600160a01b03163314610c615760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff1615610c8b5760405162461bcd60e51b815260040161093190612a53565b6012805461ffff191661ffff92909216919091179055565b6000546001600160a01b03163314610ccd5760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff1615610cf75760405162461bcd60e51b815260040161093190612a53565b60005b8151811015610daf576000828281518110610d1757610d17612c68565b6020026020010151600081518110610d3157610d31612c68565b602002602001015190506000838381518110610d4f57610d4f612c68565b6020026020010151600181518110610d6957610d69612c68565b60209081029190910181015161ffff9384166000908152600c9092526040909120805461ffff191693909116929092179091555080610da781612c94565b915050610cfa565b5050600b805460ff60a01b1916600160a01b179055565b60006004547f0000000000000000000000000000000000000000000000000000000000000000610df69190612caf565b905090565b600b54600090600160a01b900460ff1615610e2a575061ffff9081166000908152600c60205260409020541690565b600b5460405163192eae8d60e01b81526001600160a01b039091169063192eae8d90610e5a908590600401612794565b602060405180830381865afa158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190612cd1565b919050565b6000546001600160a01b03163314610eca5760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff1615610ef45760405162461bcd60e51b815260040161093190612a53565b805161097790601190602084019061225e565b610f1133826118c8565b610f2d5760405162461bcd60e51b815260040161093190612d40565b610b3083838361197a565b6000546001600160a01b03163314610f625760405162461bcd60e51b815260040161093190612a1c565b610f6c3347611a9c565b565b610b3083838360405180602001604052806000815250611583565b60606000610f968361121e565b905060008167ffffffffffffffff811115610fb357610fb36122f7565b604051908082528060200260200182016040528015610fdc578160200160208202803683370190505b5090506000805b838110801561101157507f000000000000000000000000000000000000000000000000000000000000000082105b1561109d576000828152600560205260408120546001600160a01b0316611039576000611042565b61104283611180565b9050866001600160a01b0316816001600160a01b0316141561108a578284838151811061107157611071612c68565b60209081029190910101528161108681612c94565b9250505b8261109481612c94565b93505050610fe3565b5090949350505050565b6000546001600160a01b031633146110d15760405162461bcd60e51b815260040161093190612a1c565b600b805460ff60b01b198116600160b01b9182900460ff1615909102179055565b600f80546110ff90612a79565b80601f016020809104026020016040519081016040528092919081815260200182805461112b90612a79565b80156111785780601f1061114d57610100808354040283529160200191611178565b820191906000526020600020905b81548152906001019060200180831161115b57829003601f168201915b505050505081565b6000818152600560205260408120546001600160a01b0316806109c75760405162461bcd60e51b815260040161093190612d96565b6000546001600160a01b031633146111df5760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff16156112095760405162461bcd60e51b815260040161093190612a53565b600b805460ff60a81b1916600160a81b179055565b60006001600160a01b0382166112465760405162461bcd60e51b815260040161093190612ded565b506001600160a01b031660009081526006602052604090205490565b6000546001600160a01b0316331461128c5760405162461bcd60e51b815260040161093190612a1c565b610f6c6000611b38565b600a546060906001600160a01b0316637b4e3064836112b481610dfb565b600b5460405160e085901b6001600160e01b0319168152610b70939291600160b81b900463ffffffff1690600090600401612dfd565b6000546001600160a01b031633146113145760405162461bcd60e51b815260040161093190612a1c565b600e55565b6000546001600160a01b031633146113435760405162461bcd60e51b815260040161093190612a1c565b6001600160a01b039091166000908152600d6020526040902055565b6060600280546109dc90612a79565b610977338383611b88565b600082158061139557506000546001600160a01b038381169116145b156113a2575060006109c7565b6001600160a01b0382166000908152600d60205260408120546113c59085612e32565b905060008112156113d4575060005b6000600a8212156113ec5766470de4df8200006113f5565b662386f26fc100005b66ffffffffffffff16905061140a8183612e6e565b95945050505050565b600b54600160b01b900460ff1661143c5760405162461bcd60e51b815260040161093190612eb6565b333b1561145b5760405162461bcd60e51b815260040161093190612ef2565b600e5481111561147d5760405162461bcd60e51b815260040161093190612f2d565b6114878133611379565b34146114a55760405162461bcd60e51b815260040161093190612f66565b336000908152600d6020526040902054156114ff57336000908152600d60205260408120546114d49083611c2b565b336000908152600d60205260408120805492935083929091906114f8908490612caf565b9091555050505b6109778282611c43565b6000546001600160a01b031633146115335760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff161561155d5760405162461bcd60e51b815260040161093190612a53565b600b805463ffffffff909216600160b81b0263ffffffff60b81b19909216919091179055565b61158d33836118c8565b6115a95760405162461bcd60e51b815260040161093190612d40565b6115b584848484611d26565b50505050565b606060006115c7610dc6565b905060008167ffffffffffffffff8111156115e4576115e46122f7565b60405190808252806020026020018201604052801561160d578160200160208202803683370190505b5090506000805b838110801561164257507f000000000000000000000000000000000000000000000000000000000000000082105b156116a2576000828152600560205260409020546001600160a01b031615611690578183828151811061167757611677612c68565b60209081029190910101528061168c81612c94565b9150505b8161169a81612c94565b925050611614565b50909392505050565b6000818152600560205260409020546060906001600160a01b03166116e25760405162461bcd60e51b815260040161093190612fa1565b6109c782611d59565b601080546110ff90612a79565b601254606090600090611717906117129061ffff16611296565b611dc1565b90508060405160200161172a9190612fd3565b60405160208183030381529060405290506117726117466109cd565b601083601160405160200161175e94939291906130c9565b604051602081830303815290604052611dc1565b604051602001611782919061315d565b60405160208183030381529060405291505090565b6000546001600160a01b031633146117c15760405162461bcd60e51b815260040161093190612a1c565b6001600160a01b0381166117e75760405162461bcd60e51b8152600401610931906131ce565b6117f081611b38565b50565b6000546001600160a01b0316331461181d5760405162461bcd60e51b815260040161093190612a1c565b600b54600160a81b900460ff16156118475760405162461bcd60e51b815260040161093190612a53565b805161097790601090602084019061225e565b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061188f82611180565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600560205260408120546001600160a01b03166118fc5760405162461bcd60e51b815260040161093190613227565b600061190783611180565b9050806001600160a01b0316846001600160a01b031614806119425750836001600160a01b031661193784610a5f565b6001600160a01b0316145b8061197257506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661198d82611180565b6001600160a01b0316146119b35760405162461bcd60e51b815260040161093190613279565b6001600160a01b0382166119d95760405162461bcd60e51b8152600401610931906132ca565b6119e460008261185a565b6001600160a01b0383166000908152600660205260408120805460019290611a0d908490612caf565b90915550506001600160a01b0382166000908152600660205260408120805460019290611a3b9084906132da565b909155505060008181526005602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b80471015611abc5760405162461bcd60e51b815260040161093190613326565b6000826001600160a01b031682604051611ad590613336565b60006040518083038185875af1925050503d8060008114611b12576040519150601f19603f3d011682016040523d82523d6000602084013e611b17565b606091505b5050905080610b305760405162461bcd60e51b815260040161093190613398565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b03161415611bba5760405162461bcd60e51b8152600401610931906133dc565b6001600160a01b0383811660008181526008602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611c1e908590612475565b60405180910390a3505050565b6000818310611c3a5781611c3c565b825b9392505050565b6001600160a01b038216611c695760405162461bcd60e51b81526004016109319061341e565b60008111611c895760405162461bcd60e51b815260040161093190613473565b806004541015611cab5760405162461bcd60e51b8152600401610931906134cb565b60045460005b82811015611cee576000611cc58584611f27565b9050611cd18582611f86565b611cda836134db565b92505080611ce790612c94565b9050611cb1565b5060048190556001600160a01b03831660009081526006602052604081208054849290611d1c9084906132da565b9091555050505050565b611d3184848461197a565b611d3d84848484611fdf565b6115b55760405162461bcd60e51b815260040161093190613541565b60606000611d6961171284611296565b9050611d9a611d7b8461ffff166120dd565b600f611d8686610b35565b8460405160200161175e94939291906135ad565b604051602001611daa919061315d565b604051602081830303815290604052915050919050565b6060815160001415611de157505060408051602081019091526000815290565b600060405180606001604052806040815260200161376e6040913990506000600384516002611e1091906132da565b611e1a9190613668565b611e25906004612e6e565b90506000611e348260206132da565b67ffffffffffffffff811115611e4c57611e4c6122f7565b6040519080825280601f01601f191660200182016040528015611e76576020820181803683370190505b509050818152600183018586518101602084015b81831015611ee2576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f8116850151825350600101611e8a565b600389510660018114611efc5760028114611f0d57611f19565b613d3d60f01b600119830152611f19565b603d60f81b6000198301525b509398975050505050505050565b600080833a434244611f3a600184612caf565b403089604051602001611f5498979695949392919061367c565b60408051601f19818403018152919052805160209091012090506000611f7a84836136f3565b905061140a81856121db565b60008181526005602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b156120d257604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612023903390899088908890600401613707565b6020604051808303816000875af192505050801561205e575060408051601f3d908101601f1916820190925261205b9181019061374c565b60015b6120b8573d80801561208c576040519150601f19603f3d011682016040523d82523d6000602084013e612091565b606091505b5080516120b05760405162461bcd60e51b815260040161093190613541565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611972565b506001949350505050565b6060816121015750506040805180820190915260018152600360fc1b602082015290565b8160005b811561212b578061211581612c94565b91506121249050600a83613668565b9150612105565b60008167ffffffffffffffff811115612146576121466122f7565b6040519080825280601f01601f191660200182016040528015612170576020820181803683370190505b5090505b841561197257612185600183612caf565b9150612192600a866136f3565b61219d9060306132da565b60f81b8183815181106121b2576121b2612c68565b60200101906001600160f81b031916908160001a9053506121d4600a86613668565b9450612174565b60008281526003602052604081205481816121f75750836121fa565b50805b6000612207600186612caf565b9050808614612255576000818152600360205260409020548061223a576000878152600360205260409020829055612253565b6000878152600360205260408082208390558382528120555b505b50949350505050565b82805461226a90612a79565b90600052602060002090601f01602090048101928261228c57600085556122d2565b82601f106122a557805160ff19168380011785556122d2565b828001600101855582156122d2579182015b828111156122d25782518255916020019190600101906122b7565b506122de9291506122e2565b5090565b5b808211156122de57600081556001016122e3565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715612333576123336122f7565b6040525050565b600061234560405190565b9050610e9b828261230d565b600067ffffffffffffffff82111561236b5761236b6122f7565b601f19601f83011660200192915050565b82818337506000910152565b600061239b61239684612351565b61233a565b9050828152602081018484840111156123b6576123b6600080fd5b6123c184828561237c565b509392505050565b600082601f8301126123dd576123dd600080fd5b8135611972848260208601612388565b60006020828403121561240257612402600080fd5b813567ffffffffffffffff81111561241c5761241c600080fd5b611972848285016123c9565b6001600160e01b031981165b81146117f057600080fd5b80356109c781612428565b60006020828403121561245f5761245f600080fd5b6000611972848461243f565b8015155b82525050565b602081016109c7828461246b565b60005b8381101561249e578181015183820152602001612486565b838111156115b55750506000910152565b60006124b9825190565b8084526020840193506124d0818560208601612483565b601f01601f19169290920192915050565b60208082528101611c3c81846124af565b80612434565b80356109c7816124f2565b60006020828403121561251857612518600080fd5b600061197284846124f8565b60006001600160a01b0382166109c7565b61246f81612524565b602081016109c78284612535565b61243481612524565b80356109c78161254c565b6000806040838503121561257657612576600080fd5b60006125828585612555565b9250506020612593858286016124f8565b9150509250929050565b61ffff8116612434565b80356109c78161259d565b6000602082840312156125c7576125c7600080fd5b600061197284846125a7565b600080604083850312156125e9576125e9600080fd5b60006125f58585612555565b925050602061259385828601612555565b600067ffffffffffffffff821115612620576126206122f7565b5060209081020190565b600061263861239684612606565b8381529050602080820190840283018581111561265757612657600080fd5b835b8181101561267b578061266c88826125a7565b84525060209283019201612659565b5050509392505050565b600082601f83011261269957612699600080fd5b813561197284826020860161262a565b60006126b761239684612606565b838152905060208082019084028301858111156126d6576126d6600080fd5b835b8181101561267b57803567ffffffffffffffff8111156126fa576126fa600080fd5b8086016127078982612685565b85525050602092830192016126d8565b600082601f83011261272b5761272b600080fd5b81356119728482602086016126a9565b60006020828403121561275057612750600080fd5b813567ffffffffffffffff81111561276a5761276a600080fd5b61197284828501612717565b8061246f565b602081016109c78284612776565b61ffff811661246f565b602081016109c7828461278a565b6000806000606084860312156127ba576127ba600080fd5b60006127c68686612555565b93505060206127d786828701612555565b92505060406127e8868287016124f8565b9150509250925092565b60006109c782612524565b60006109c7826127f2565b61246f816127fd565b602081016109c78284612808565b63ffffffff811661246f565b602081016109c7828461281f565b60006020828403121561284e5761284e600080fd5b60006119728484612555565b60006128668383612776565b505060200190565b6000612878825190565b80845260209384019383018060005b838110156128ac57815161289b888261285a565b975060208301925050600101612887565b509495945050505050565b60208082528101611c3c818461286e565b801515612434565b80356109c7816128c8565b600080604083850312156128f1576128f1600080fd5b60006128fd8585612555565b9250506020612593858286016128d0565b6000806040838503121561292457612924600080fd5b60006125f585856124f8565b63ffffffff8116612434565b80356109c781612930565b60006020828403121561295c5761295c600080fd5b6000611972848461293c565b6000806000806080858703121561298157612981600080fd5b600061298d8787612555565b945050602061299e87828801612555565b93505060406129af878288016124f8565b925050606085013567ffffffffffffffff8111156129cf576129cf600080fd5b6129db878288016123c9565b91505092959194509250565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260005b5060200190565b602080825281016109c7816129e7565b601081526000602082016f21b7b73a3930b1ba1039b2b0b632b21760811b81529150612a15565b602080825281016109c781612a2c565b634e487b7160e01b600052602260045260246000fd5b600281046001821680612a8d57607f821691505b60208210811415612aa057612aa0612a63565b50919050565b602c81526000602082017f4552433732313a20617070726f76656420717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b602082015291505b5060400190565b602080825281016109c781612aa6565b602181526000602082017f4552433732313a20617070726f76616c20746f2063757272656e74206f776e658152603960f91b60208201529150612aeb565b602080825281016109c781612b02565b603881526000602082017f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7781527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060208201529150612aeb565b602080825281016109c781612b50565b60408101612bc8828561278a565b611c3c602083018461278a565b6000612be361239684612351565b905082815260208101848484011115612bfe57612bfe600080fd5b6123c1848285612483565b600082601f830112612c1d57612c1d600080fd5b8151611972848260208601612bd5565b600060208284031215612c4257612c42600080fd5b815167ffffffffffffffff811115612c5c57612c5c600080fd5b61197284828501612c09565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612ca857612ca8612c7e565b5060010190565b600082821015612cc157612cc1612c7e565b500390565b80516109c78161259d565b600060208284031215612ce657612ce6600080fd5b60006119728484612cc6565b603181526000602082017f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f8152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b60208201529150612aeb565b602080825281016109c781612cf2565b602981526000602082017f4552433732313a206f776e657220717565727920666f72206e6f6e657869737481526832b73a103a37b5b2b760b91b60208201529150612aeb565b602080825281016109c781612d50565b602a81526000602082017f4552433732313a2062616c616e636520717565727920666f7220746865207a65815269726f206164647265737360b01b60208201529150612aeb565b602080825281016109c781612da6565b60808101612e0b828761278a565b612e18602083018661278a565b612e25604083018561281f565b61140a606083018461246b565b600082600160ff1b01821260008412151615612e5057612e50612c7e565b826001600160ff1b03018213600084121615612cc157612cc1612c7e565b6000816000190483118215151615612e8857612e88612c7e565b500290565b60128152600060208201714d696e74206973206e6f742061637469766560701b81529150612a15565b602080825281016109c781612e8d565b601581526000602082017410dbdb9d1c9858dd1cc818d85b9b9bdd081b5a5b9d605a1b81529150612a15565b602080825281016109c781612ec6565b601481526000602082017343616e2774206d696e742074686174206d616e7960601b81529150612a15565b602080825281016109c781612f02565b60128152600060208201711399595908195e1858dd081c185e5b595b9d60721b81529150612a15565b602080825281016109c781612f3d565b6014815260006020820173151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b81529150612a15565b602080825281016109c781612f76565b6000612fbb825190565b612fc9818560208601612483565b9290920192915050565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c00000000000081526000601a82015b9150611c3c8284612fb1565b607b60f81b81526000612ca8565b701116113232b9b1b934b83a34b7b7111d1160791b815260005b5060110190565b6000815461304581612a79565b60018216801561305c576001811461306d5761309d565b60ff1983168652818601935061309d565b60008581526020902060005b8381101561309557815488820152600190910190602001613079565b838801955050505b50505092915050565b7211161132bc3a32b93730b62fb634b735911d1160691b815260005b5060130190565b60006130d482613009565b67113730b6b2911d1160c11b815260080191506130f18287612fb1565b91506130fc82613017565b91506131088286613038565b6f11161134b6b0b3b2afb230ba30911d1160811b8152601001915061312d8285612fb1565b9150613138826130a6565b91506131448284613038565b61227d60f01b81529150600282015b9695505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000601d8201612ffd565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b60208201529150612aeb565b602080825281016109c78161318b565b602c81526000602082017f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b60208201529150612aeb565b602080825281016109c7816131de565b602581526000602082017f4552433732313a207472616e736665722066726f6d20696e636f72726563742081526437bbb732b960d91b60208201529150612aeb565b602080825281016109c781613237565b602481526000602082017f4552433732313a207472616e7366657220746f20746865207a65726f206164648152637265737360e01b60208201529150612aeb565b602080825281016109c781613289565b600082198211156132ed576132ed612c7e565b500190565b601d81526000602082017f416464726573733a20696e73756666696369656e742062616c616e636500000081529150612a15565b602080825281016109c7816132f2565b6000816109c7565b603a81526000602082017f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d6179206861766520726576657274656400000000000060208201529150612aeb565b602080825281016109c78161333e565b601981526000602082017f4552433732313a20617070726f766520746f2063616c6c65720000000000000081529150612a15565b602080825281016109c7816133a8565b60208082527f4552433732313a206d696e7420746f20746865207a65726f206164647265737391019081526000612a15565b602080825281016109c7816133ec565b602881526000602082017f455243373231723a206e65656420746f206d696e74206174206c65617374206f8152673732903a37b5b2b760c11b60208201529150612aeb565b602080825281016109c78161342e565b602b81526000602082017f455243373231723a206d696e74696e67206d6f726520746f6b656e732074686181526a6e20617661696c61626c6560a81b60208201529150612aeb565b602080825281016109c781613483565b6000816134ea576134ea612c7e565b506000190190565b603281526000602082017f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60208201529150612aeb565b602080825281016109c7816134f2565b72111610113232b9b1b934b83a34b7b7111d101160691b815260006130c2565b7001116101130ba3a3934b13aba32b9911d1607d1b81526000613031565b7016101134b6b0b3b2afb230ba30911d101160791b81526000613031565b693d913730b6b2911d101160b11b81527146617368696f6e204861742050756e6b202360701b600a820152601c0160006135e78287612fb1565b91506135f282613551565b91506135fe8286613038565b915061360982613571565b91506136158285612fb1565b91506136208261358f565b7f646174613a696d6167652f7376672b786d6c3b6261736536342c0000000000008152601a0191506131448284612fb1565b634e487b7160e01b600052601260045260246000fd5b60008261367757613677613652565b500490565b610100810161368b828b612535565b613698602083018a612776565b6136a56040830189612776565b6136b26060830188612776565b6136bf6080830187612776565b6136cc60a0830186612776565b6136d960c0830185612535565b6136e660e0830184612776565b9998505050505050505050565b60008261370257613702613652565b500690565b608081016137158287612535565b6137226020830186612535565b61372f6040830185612776565b818103606083015261315381846124af565b80516109c781612428565b60006020828403121561376157613761600080fd5b6000611972848461374156fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122040ff6a711308f28e0bcc91e8d348aece524997975fd752de7cdf3020d45beb3d64736f6c634300080c00334f6e65206f662031302c30303020756e697175652050756e6b732066726f6d207468652046617368696f6e204861742050756e6b20636f6c6c656374696f6e2c2074686520776f726c64e28099732066697273742066617368696f6e61626c65206861742d63656e747269632031303025206f6e2d636861696e2043727970746f50756e6b20646572697661746976652e5c6e5c6e546869732050756e6b2069732065786163746c79207468652073616d6520617320746865206f726967696e616c2043727970746f50756e6b20776974682074686520636f72726573706f6e64696e6720746f6b656e2069642c202a6578636570742a2074686973206f6e652069732077656172696e6720612066617368696f6e61626c65206861742e5c6e5c6e496620796f75e280997265206c6f6f6b696e6720666f7220616e20756e63656e736f7261626c652050756e6b2077686f206c6f7665732066617368696f6e2c20686174657320696d706c69656420616666696c696174696f6e2c206c6f766573206265696e6720756e697175652c20616e642068617465732065787465726e616c20646570656e64656e636965732c20796f75e28099726520696e2074686520726967687420706c6163652146617368696f6e204861742050756e6b7320697320616e206f6e2d636861696e2050465020636f6c6c656374696f6e207468617420696e766974657320757320746f20696d6167696e65206120776f726c6420696e20776869636820616c6c2031302c303030206f726967696e616c2043727970746f50756e6b7320776f72652066617368696f6e61626c65206861747320627574206f7468657277697365206c6f6f6b6564207468652073616d652e5c6e5c6e46617368696f6e204861742050756e6b73206c6976652031303025206f6e2d636861696e2077697468206e6f2065787465726e616c2065787465726e616c20646570656e64656e636965732e2054686973206d65616e7320796f75722046617368696f6e204861742050756e6be280997320696d61676520616e64206d657461646174612063616e6e6f742062652064656c657465642c20726573747269637465642c206f722074616d7065726564207769746820696e20616e79207761792e20497420616c736f206d65616e732074686520686174732077696c6c206e6576657220676f206f7574206f66207374796c652e0000000000000000000000001febcd663f11e2654f3f02f261bee477eeff73cd