[ { "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": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "tokenId_", "type": "uint256" } ], "name": "Minted", "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_TOKENS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint32[]", "name": "percentAllocations", "type": "uint32[]" }, { "internalType": "uint32", "name": "distributorFee", "type": "uint32" } ], "name": "createSplit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "withdrawETH", "type": "uint256" }, { "internalType": "contract ERC20[]", "name": "tokens", "type": "address[]" }, { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint32[]", "name": "percentAllocations", "type": "uint32[]" }, { "internalType": "uint32", "name": "distributorFee", "type": "uint32" }, { "internalType": "address", "name": "distributorAddress", "type": "address" } ], "name": "distributeAndWithdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract ERC20", "name": "token", "type": "address" }, { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint32[]", "name": "percentAllocations", "type": "uint32[]" }, { "internalType": "uint32", "name": "distributorFee", "type": "uint32" }, { "internalType": "address", "name": "distributorAddress", "type": "address" } ], "name": "distributeERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint32[]", "name": "percentAllocations", "type": "uint32[]" }, { "internalType": "uint32", "name": "distributorFee", "type": "uint32" }, { "internalType": "address", "name": "distributorAddress", "type": "address" } ], "name": "distributeETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "flipSaleState", "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" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "maxTokens", "type": "uint256" }, { "internalType": "uint256", "name": "tokenPrice", "type": "uint256" }, { "internalType": "uint256", "name": "maxTokenPurchase", "type": "uint256" }, { "internalType": "uint256", "name": "royaltyBPS", "type": "uint256" } ], "internalType": "struct EditionConfig", "name": "_editionConfig", "type": "tuple" }, { "components": [ { "internalType": "string", "name": "metadataURI", "type": "string" }, { "internalType": "bytes", "name": "metadataRendererInit", "type": "bytes" } ], "internalType": "struct MetadataConfig", "name": "_metadataConfig", "type": "tuple" }, { "internalType": "address", "name": "_metadataRenderer", "type": "address" }, { "internalType": "address", "name": "_splitMain", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "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": "maxTokenPurchase", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "metadataRenderer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numberOfTokens", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "numReserved", "type": "uint256" } ], "name": "reserveDCNT", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "royaltyBPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": [], "name": "saleIsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "uri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_metadataRenderer", "type": "address" } ], "name": "setMetadataRenderer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "splitMain", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "splitWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [], "name": "tokenPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "uint256", "name": "transferETH", "type": "uint256" }, { "internalType": "contract ERC20[]", "name": "tokens", "type": "address[]" } ], "name": "transferToSplit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526000600c60006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506200004d620000416200005360201b60201c565b6200005b60201b60201c565b62000121565b600033905090565b6000600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b614f5980620001316000396000f3fe60806040526004361061022f5760003560e01c8063703199701161012e578063a22cb465116100ab578063e985e9c51161006f578063e985e9c5146107f2578063eb8d24441461082f578063f2fde38b1461085a578063f47c84c514610883578063fd4fe8a8146108ae5761022f565b8063a22cb4651461070f578063b88d4fde14610738578063b9c9d93a14610761578063c4559d5a1461078c578063c87b56dd146107b55761022f565b80637ff9b596116100f25780637ff9b596146106495780638da5cb5b1461067457806395d89b411461069f5780639b90c9c3146106ca578063a0712d68146106f35761022f565b8063703199701461057657806370a08231146105a1578063713b9787146105de578063715018a61461060957806379ab7c8e146106205761022f565b806323b872dd116101bc57806342842e0e1161018057806342842e0e1461049357806355f804b3146104bc5780636352211e146104e55780636c0360eb146105225780636c1951ae1461054d5761022f565b806323b872dd146103d5578063284a44a8146103fe5780632a55205a1461042757806334918dfd146104655780633ccfd60b1461047c5761022f565b8063081812fc11610203578063081812fc146102ee578063095ea7b31461032b57806309aa3dcf146103545780630e769b2b1461037f57806318160ddd146103aa5761022f565b80625f16fb14610234578063015893c51461025d57806301ffc9a71461028657806306fdde03146102c3575b600080fd5b34801561024057600080fd5b5061025b60048036038101906102569190613245565b6108d7565b005b34801561026957600080fd5b50610284600480360381019061027f9190613301565b6109e7565b005b34801561029257600080fd5b506102ad60048036038101906102a891906133ee565b610b8d565b6040516102ba9190613436565b60405180910390f35b3480156102cf57600080fd5b506102d8610bcf565b6040516102e591906134ea565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190613542565b610c61565b604051610322919061357e565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d9190613599565b610ce0565b005b34801561036057600080fd5b50610369610e24565b60405161037691906135e8565b60405180910390f35b34801561038b57600080fd5b50610394610e2a565b6040516103a1919061357e565b60405180910390f35b3480156103b657600080fd5b506103bf610e50565b6040516103cc91906135e8565b60405180910390f35b3480156103e157600080fd5b506103fc60048036038101906103f79190613603565b610e67565b005b34801561040a57600080fd5b5061042560048036038101906104209190613794565b61118c565b005b34801561043357600080fd5b5061044e60048036038101906104499190613892565b611277565b60405161045c9291906138d2565b60405180910390f35b34801561047157600080fd5b5061047a61137a565b005b34801561048857600080fd5b506104916113ae565b005b34801561049f57600080fd5b506104ba60048036038101906104b59190613603565b611475565b005b3480156104c857600080fd5b506104e360048036038101906104de91906139b0565b611495565b005b3480156104f157600080fd5b5061050c60048036038101906105079190613542565b6114b7565b604051610519919061357e565b60405180910390f35b34801561052e57600080fd5b506105376114c9565b60405161054491906134ea565b60405180910390f35b34801561055957600080fd5b50610574600480360381019061056f9190613542565b611557565b005b34801561058257600080fd5b5061058b6115fe565b604051610598919061357e565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c391906139f9565b611624565b6040516105d591906135e8565b60405180910390f35b3480156105ea57600080fd5b506105f36116dd565b604051610600919061357e565b60405180910390f35b34801561061557600080fd5b5061061e611703565b005b34801561062c57600080fd5b5061064760048036038101906106429190613a26565b611717565b005b34801561065557600080fd5b5061065e6117e4565b60405161066b91906135e8565b60405180910390f35b34801561068057600080fd5b506106896117ea565b604051610696919061357e565b60405180910390f35b3480156106ab57600080fd5b506106b4611814565b6040516106c191906134ea565b60405180910390f35b3480156106d657600080fd5b506106f160048036038101906106ec9190613c8d565b6118a6565b005b61070d60048036038101906107089190613542565b611bba565b005b34801561071b57600080fd5b5061073660048036038101906107319190613d6c565b611dbc565b005b34801561074457600080fd5b5061075f600480360381019061075a9190613dac565b611f34565b005b34801561076d57600080fd5b50610776611fa7565b60405161078391906135e8565b60405180910390f35b34801561079857600080fd5b506107b360048036038101906107ae9190613e2f565b611fad565b005b3480156107c157600080fd5b506107dc60048036038101906107d79190613542565b6120b9565b6040516107e991906134ea565b60405180910390f35b3480156107fe57600080fd5b5061081960048036038101906108149190613ed6565b612218565b6040516108269190613436565b60405180910390f35b34801561083b57600080fd5b506108446122ac565b6040516108519190613436565b60405180910390f35b34801561086657600080fd5b50610881600480360381019061087c91906139f9565b6122bf565b005b34801561088f57600080fd5b50610898612343565b6040516108a591906135e8565b60405180910390f35b3480156108ba57600080fd5b506108d560048036038101906108d091906139f9565b612349565b005b600073ffffffffffffffffffffffffffffffffffffffff166108f7612395565b73ffffffffffffffffffffffffffffffffffffffff16141561094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094590613f62565b60405180910390fd5b610957876123bf565b61095f6124e5565b73ffffffffffffffffffffffffffffffffffffffff166315811302610982612395565b898989898989896040518963ffffffff1660e01b81526004016109ac989796959493929190614176565b600060405180830381600087803b1580156109c657600080fd5b505af11580156109da573d6000803e3d6000fd5b5050505050505050505050565b6109ef61250f565b600073ffffffffffffffffffffffffffffffffffffffff16610a0f6124e5565b73ffffffffffffffffffffffffffffffffffffffff161415610a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5d90614235565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16610a86612395565b73ffffffffffffffffffffffffffffffffffffffff1614610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad3906142a1565b60405180910390fd5b6000610ae66124e5565b73ffffffffffffffffffffffffffffffffffffffff16637601f7828787878787336040518763ffffffff1660e01b8152600401610b28969594939291906142c1565b602060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a919061432d565b9050610b858161258d565b505050505050565b6000632a55205a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610bc85750610bc7826125d1565b5b9050919050565b606060028054610bde90614389565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0a90614389565b8015610c575780601f10610c2c57610100808354040283529160200191610c57565b820191906000526020600020905b815481529060010190602001808311610c3a57829003601f168201915b5050505050905090565b6000610c6c82612663565b610ca2576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ceb826114b7565b90508073ffffffffffffffffffffffffffffffffffffffff16610d0c6126c2565b73ffffffffffffffffffffffffffffffffffffffff1614610d6f57610d3881610d336126c2565b612218565b610d6e576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600b5481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e5a6126ca565b6001546000540303905090565b6000610e72826126cf565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ed9576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610ee58461279d565b91509150610efb8187610ef66126c2565b6127c4565b610f4757610f1086610f0b6126c2565b612218565b610f46576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610fae576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fbb8686866001612808565b8015610fc657600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506110948561107088888761280e565b7c020000000000000000000000000000000000000000000000000000000017612836565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416141561111c57600060018501905060006004600083815260200190815260200160002054141561111a576000548114611119578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46111848686866001612861565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff166111ac612395565b73ffffffffffffffffffffffffffffffffffffffff161415611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa90613f62565b60405180910390fd5b6000881461121a57611219868686868686611fad565b5b60005b87518110156112605761124f88828151811061123c5761123b6143bb565b5b60200260200101518888888888886108d7565b8061125990614419565b905061121d565b5061126c898989612867565b505050505050505050565b60008061128384612663565b6112c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b9906144ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134257601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915061134d565b61134a6117ea565b91505b6000612710600f548561136091906144ce565b61136a9190614557565b9050828192509250509250929050565b61138261250f565b600c60009054906101000a900460ff1615600c60006101000a81548160ff021916908315150217905550565b6113b661250f565b600073ffffffffffffffffffffffffffffffffffffffff166113d6612395565b73ffffffffffffffffffffffffffffffffffffffff161461142c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611423906145fa565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611472573d6000803e3d6000fd5b50565b61149083838360405180602001604052806000815250611f34565b505050565b61149d61250f565b80600d90805190602001906114b3929190612ffb565b5050565b60006114c2826126cf565b9050919050565b600d80546114d690614389565b80601f016020809104026020016040519081016040528092919081815260200182805461150290614389565b801561154f5780601f106115245761010080835404028352916020019161154f565b820191906000526020600020905b81548152906001019060200180831161153257829003601f168201915b505050505081565b61155f61250f565b6000611569610e50565b9050600954828261157a919061461a565b106115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b1906146bc565b60405180910390fd5b60005b828110156115f9576115e633600183856115d7919061461a565b6115e1919061461a565b6128e2565b80806115f190614419565b9150506115bd565b505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561168c576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61170b61250f565b6117156000612900565b565b600073ffffffffffffffffffffffffffffffffffffffff16611737612395565b73ffffffffffffffffffffffffffffffffffffffff16141561178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178590613f62565b60405180910390fd5b6000821461179f5761179e6129c6565b5b60005b81518110156117df576117ce8282815181106117c1576117c06143bb565b5b60200260200101516123bf565b806117d890614419565b90506117a2565b505050565b600a5481565b6000600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461182390614389565b80601f016020809104026020016040519081016040528092919081815260200182805461184f90614389565b801561189c5780601f106118715761010080835404028352916020019161189c565b820191906000526020600020905b81548152906001019060200180831161187f57829003601f168201915b5050505050905090565b6000600860019054906101000a900460ff161590508080156118da57506001600860009054906101000a900460ff1660ff16105b8061190957506118e930612a7c565b15801561190857506001600860009054906101000a900460ff1660ff16145b5b611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193f9061474e565b60405180910390fd5b6001600860006101000a81548160ff021916908360ff1602179055508015611986576001600860016101000a81548160ff0219169083151502179055505b61198f86612900565b8460000151600290805190602001906119a9929190612ffb565b508460200151600390805190602001906119c4929190612ffb565b506119cd6126ca565b60008190555084604001516009819055508460600151600a819055508460800151600b819055508460a00151600f8190555081601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a8257506000846020015151115b15611b3c5782600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff1663856a7ffa85602001516040518263ffffffff1660e01b8152600401611b0591906147c3565b600060405180830381600087803b158015611b1f57600080fd5b505af1158015611b33573d6000803e3d6000fd5b50505050611b58565b8360000151600d9080519060200190611b56929190612ffb565b505b8015611bb2576000600860016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051611ba9919061482d565b60405180910390a15b505050505050565b6000611bc4610e50565b9050600c60009054906101000a900460ff16611c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0c90614894565b60405180910390fd5b6009548282611c24919061461a565b1115611c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5c906146bc565b60405180910390fd5b600954811115611caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca190614900565b60405180910390fd5b81600a54611cb891906144ce565b341015611cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf19061496c565b60405180910390fd5b6000600b5414611d4a57600b54821115611d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d40906149d8565b60405180910390fd5b5b611d5433836128e2565b60005b82811015611db7577f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe338380611d8c90614419565b9450604051611d9c9291906138d2565b60405180910390a18080611daf90614419565b915050611d57565b505050565b611dc46126c2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e29576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000611e366126c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611ee36126c2565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f289190613436565b60405180910390a35050565b611f3f848484610e67565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611fa157611f6a84848484612a9f565b611fa0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b600f5481565b600073ffffffffffffffffffffffffffffffffffffffff16611fcd612395565b73ffffffffffffffffffffffffffffffffffffffff161415612024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201b90613f62565b60405180910390fd5b61202c6129c6565b6120346124e5565b73ffffffffffffffffffffffffffffffffffffffff1663e61cb05e612057612395565b8888888888886040518863ffffffff1660e01b815260040161207f97969594939291906149f8565b600060405180830381600087803b15801561209957600080fd5b505af11580156120ad573d6000803e3d6000fd5b50505050505050505050565b60606120c482612663565b6120fa576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461220757600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c87b56dd836040518263ffffffff1660e01b81526004016121ab91906135e8565b60006040518083038186803b1580156121c357600080fd5b505afa1580156121d7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906122009190614acd565b9050612213565b61221082612bff565b90505b919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600c60009054906101000a900460ff1681565b6122c761250f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232e90614b88565b60405180910390fd5b61234081612900565b50565b60095481565b61235161250f565b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016123fa919061357e565b60206040518083038186803b15801561241257600080fd5b505afa158015612426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244a9190614bbd565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612470612395565b836040518363ffffffff1660e01b815260040161248e9291906138d2565b602060405180830381600087803b1580156124a857600080fd5b505af11580156124bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e09190614bff565b505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612517612c9e565b73ffffffffffffffffffffffffffffffffffffffff166125356117ea565b73ffffffffffffffffffffffffffffffffffffffff161461258b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258290614c78565b60405180910390fd5b565b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061262c57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061265c5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008161266e6126ca565b1115801561267d575060005482105b80156126bb575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b600090565b600080829050806126de6126ca565b11612766576000548110156127655760006004600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415612763575b600081141561275957600460008360019003935083815260200190815260200160002054905061272e565b8092505050612798565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8612825868684612ca6565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b61286f6124e5565b73ffffffffffffffffffffffffffffffffffffffff16636e5f69198484846040518463ffffffff1660e01b81526004016128ab93929190614d45565b600060405180830381600087803b1580156128c557600080fd5b505af11580156128d9573d6000803e3d6000fd5b50505050505050565b6128fc828260405180602001604052806000815250612caf565b5050565b6000600860029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006129d0612395565b73ffffffffffffffffffffffffffffffffffffffff16476040516129f390614db4565b60006040518083038185875af1925050503d8060008114612a30576040519150601f19603f3d011682016040523d82523d6000602084013e612a35565b606091505b5050905080612a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7090614e15565b60405180910390fd5b50565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612ac56126c2565b8786866040518563ffffffff1660e01b8152600401612ae79493929190614e35565b602060405180830381600087803b158015612b0157600080fd5b505af1925050508015612b3257506040513d601f19601f82011682018060405250810190612b2f9190614e96565b60015b612bac573d8060008114612b62576040519150601f19603f3d011682016040523d82523d6000602084013e612b67565b606091505b50600081511415612ba4576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060612c0a82612663565b612c40576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612c4a612d4c565b9050600081511415612c6b5760405180602001604052806000815250612c96565b80612c7584612dde565b604051602001612c86929190614eff565b6040516020818303038152906040525b915050919050565b600033905090565b60009392505050565b612cb98383612e2e565b60008373ffffffffffffffffffffffffffffffffffffffff163b14612d4757600080549050600083820390505b612cf96000868380600101945086612a9f565b612d2f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110612ce6578160005414612d4457600080fd5b50505b505050565b6060600d8054612d5b90614389565b80601f0160208091040260200160405190810160405280929190818152602001828054612d8790614389565b8015612dd45780601f10612da957610100808354040283529160200191612dd4565b820191906000526020600020905b815481529060010190602001808311612db757829003601f168201915b5050505050905090565b606060806040510190508060405280825b600115612e1a57600183039250600a81066030018353600a8104905080612e1557612e1a565b612def565b508181036020830392508083525050919050565b6000805490506000821415612e6f576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e7c6000848385612808565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612ef383612ee4600086600061280e565b612eed85612feb565b17612836565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114612f9457808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050612f59565b506000821415612fd0576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000819055505050612fe66000848385612861565b505050565b60006001821460e11b9050919050565b82805461300790614389565b90600052602060002090601f0160209004810192826130295760008555613070565b82601f1061304257805160ff1916838001178555613070565b82800160010185558215613070579182015b8281111561306f578251825591602001919060010190613054565b5b50905061307d9190613081565b5090565b5b8082111561309a576000816000905550600101613082565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130dd826130b2565b9050919050565b60006130ef826130d2565b9050919050565b6130ff816130e4565b811461310a57600080fd5b50565b60008135905061311c816130f6565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261314757613146613122565b5b8235905067ffffffffffffffff81111561316457613163613127565b5b6020830191508360208202830111156131805761317f61312c565b5b9250929050565b60008083601f84011261319d5761319c613122565b5b8235905067ffffffffffffffff8111156131ba576131b9613127565b5b6020830191508360208202830111156131d6576131d561312c565b5b9250929050565b600063ffffffff82169050919050565b6131f6816131dd565b811461320157600080fd5b50565b600081359050613213816131ed565b92915050565b613222816130d2565b811461322d57600080fd5b50565b60008135905061323f81613219565b92915050565b600080600080600080600060a0888a031215613264576132636130a8565b5b60006132728a828b0161310d565b975050602088013567ffffffffffffffff811115613293576132926130ad565b5b61329f8a828b01613131565b9650965050604088013567ffffffffffffffff8111156132c2576132c16130ad565b5b6132ce8a828b01613187565b945094505060606132e18a828b01613204565b92505060806132f28a828b01613230565b91505092959891949750929550565b60008060008060006060868803121561331d5761331c6130a8565b5b600086013567ffffffffffffffff81111561333b5761333a6130ad565b5b61334788828901613131565b9550955050602086013567ffffffffffffffff81111561336a576133696130ad565b5b61337688828901613187565b9350935050604061338988828901613204565b9150509295509295909350565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6133cb81613396565b81146133d657600080fd5b50565b6000813590506133e8816133c2565b92915050565b600060208284031215613404576134036130a8565b5b6000613412848285016133d9565b91505092915050565b60008115159050919050565b6134308161341b565b82525050565b600060208201905061344b6000830184613427565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561348b578082015181840152602081019050613470565b8381111561349a576000848401525b50505050565b6000601f19601f8301169050919050565b60006134bc82613451565b6134c6818561345c565b93506134d681856020860161346d565b6134df816134a0565b840191505092915050565b6000602082019050818103600083015261350481846134b1565b905092915050565b6000819050919050565b61351f8161350c565b811461352a57600080fd5b50565b60008135905061353c81613516565b92915050565b600060208284031215613558576135576130a8565b5b60006135668482850161352d565b91505092915050565b613578816130d2565b82525050565b6000602082019050613593600083018461356f565b92915050565b600080604083850312156135b0576135af6130a8565b5b60006135be85828601613230565b92505060206135cf8582860161352d565b9150509250929050565b6135e28161350c565b82525050565b60006020820190506135fd60008301846135d9565b92915050565b60008060006060848603121561361c5761361b6130a8565b5b600061362a86828701613230565b935050602061363b86828701613230565b925050604061364c8682870161352d565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61368e826134a0565b810181811067ffffffffffffffff821117156136ad576136ac613656565b5b80604052505050565b60006136c061309e565b90506136cc8282613685565b919050565b600067ffffffffffffffff8211156136ec576136eb613656565b5b602082029050602081019050919050565b600061371061370b846136d1565b6136b6565b905080838252602082019050602084028301858111156137335761373261312c565b5b835b8181101561375c5780613748888261310d565b845260208401935050602081019050613735565b5050509392505050565b600082601f83011261377b5761377a613122565b5b813561378b8482602086016136fd565b91505092915050565b600080600080600080600080600060e08a8c0312156137b6576137b56130a8565b5b60006137c48c828d01613230565b99505060206137d58c828d0161352d565b98505060408a013567ffffffffffffffff8111156137f6576137f56130ad565b5b6138028c828d01613766565b97505060608a013567ffffffffffffffff811115613823576138226130ad565b5b61382f8c828d01613131565b965096505060808a013567ffffffffffffffff811115613852576138516130ad565b5b61385e8c828d01613187565b945094505060a06138718c828d01613204565b92505060c06138828c828d01613230565b9150509295985092959850929598565b600080604083850312156138a9576138a86130a8565b5b60006138b78582860161352d565b92505060206138c88582860161352d565b9150509250929050565b60006040820190506138e7600083018561356f565b6138f460208301846135d9565b9392505050565b600080fd5b600067ffffffffffffffff82111561391b5761391a613656565b5b613924826134a0565b9050602081019050919050565b82818337600083830152505050565b600061395361394e84613900565b6136b6565b90508281526020810184848401111561396f5761396e6138fb565b5b61397a848285613931565b509392505050565b600082601f83011261399757613996613122565b5b81356139a7848260208601613940565b91505092915050565b6000602082840312156139c6576139c56130a8565b5b600082013567ffffffffffffffff8111156139e4576139e36130ad565b5b6139f084828501613982565b91505092915050565b600060208284031215613a0f57613a0e6130a8565b5b6000613a1d84828501613230565b91505092915050565b60008060408385031215613a3d57613a3c6130a8565b5b6000613a4b8582860161352d565b925050602083013567ffffffffffffffff811115613a6c57613a6b6130ad565b5b613a7885828601613766565b9150509250929050565b600080fd5b600080fd5b600060c08284031215613aa257613aa1613a82565b5b613aac60c06136b6565b9050600082013567ffffffffffffffff811115613acc57613acb613a87565b5b613ad884828501613982565b600083015250602082013567ffffffffffffffff811115613afc57613afb613a87565b5b613b0884828501613982565b6020830152506040613b1c8482850161352d565b6040830152506060613b308482850161352d565b6060830152506080613b448482850161352d565b60808301525060a0613b588482850161352d565b60a08301525092915050565b600067ffffffffffffffff821115613b7f57613b7e613656565b5b613b88826134a0565b9050602081019050919050565b6000613ba8613ba384613b64565b6136b6565b905082815260208101848484011115613bc457613bc36138fb565b5b613bcf848285613931565b509392505050565b600082601f830112613bec57613beb613122565b5b8135613bfc848260208601613b95565b91505092915050565b600060408284031215613c1b57613c1a613a82565b5b613c2560406136b6565b9050600082013567ffffffffffffffff811115613c4557613c44613a87565b5b613c5184828501613982565b600083015250602082013567ffffffffffffffff811115613c7557613c74613a87565b5b613c8184828501613bd7565b60208301525092915050565b600080600080600060a08688031215613ca957613ca86130a8565b5b6000613cb788828901613230565b955050602086013567ffffffffffffffff811115613cd857613cd76130ad565b5b613ce488828901613a8c565b945050604086013567ffffffffffffffff811115613d0557613d046130ad565b5b613d1188828901613c05565b9350506060613d2288828901613230565b9250506080613d3388828901613230565b9150509295509295909350565b613d498161341b565b8114613d5457600080fd5b50565b600081359050613d6681613d40565b92915050565b60008060408385031215613d8357613d826130a8565b5b6000613d9185828601613230565b9250506020613da285828601613d57565b9150509250929050565b60008060008060808587031215613dc657613dc56130a8565b5b6000613dd487828801613230565b9450506020613de587828801613230565b9350506040613df68782880161352d565b925050606085013567ffffffffffffffff811115613e1757613e166130ad565b5b613e2387828801613bd7565b91505092959194509250565b60008060008060008060808789031215613e4c57613e4b6130a8565b5b600087013567ffffffffffffffff811115613e6a57613e696130ad565b5b613e7689828a01613131565b9650965050602087013567ffffffffffffffff811115613e9957613e986130ad565b5b613ea589828a01613187565b94509450506040613eb889828a01613204565b9250506060613ec989828a01613230565b9150509295509295509295565b60008060408385031215613eed57613eec6130a8565b5b6000613efb85828601613230565b9250506020613f0c85828601613230565b9150509250929050565b7f53706c6974206e6f742063726561746564207965740000000000000000000000600082015250565b6000613f4c60158361345c565b9150613f5782613f16565b602082019050919050565b60006020820190508181036000830152613f7b81613f3f565b9050919050565b6000819050919050565b6000613fa7613fa2613f9d846130b2565b613f82565b6130b2565b9050919050565b6000613fb982613f8c565b9050919050565b6000613fcb82613fae565b9050919050565b613fdb81613fc0565b82525050565b600082825260208201905092915050565b6000819050919050565b614005816130d2565b82525050565b60006140178383613ffc565b60208301905092915050565b60006140326020840184613230565b905092915050565b6000602082019050919050565b60006140538385613fe1565b935061405e82613ff2565b8060005b85811015614097576140748284614023565b61407e888261400b565b97506140898361403a565b925050600181019050614062565b5085925050509392505050565b600082825260208201905092915050565b6000819050919050565b6140c8816131dd565b82525050565b60006140da83836140bf565b60208301905092915050565b60006140f56020840184613204565b905092915050565b6000602082019050919050565b600061411683856140a4565b9350614121826140b5565b8060005b8581101561415a5761413782846140e6565b61414188826140ce565b975061414c836140fd565b925050600181019050614125565b5085925050509392505050565b614170816131dd565b82525050565b600060c08201905061418b600083018b61356f565b614198602083018a613fd2565b81810360408301526141ab81888a614047565b905081810360608301526141c081868861410a565b90506141cf6080830185614167565b6141dc60a083018461356f565b9998505050505050505050565b7f53706c69744d61696e206e6f7420736574000000000000000000000000000000600082015250565b600061421f60118361345c565b915061422a826141e9565b602082019050919050565b6000602082019050818103600083015261424e81614212565b9050919050565b7f53706c697420616c726561647920637265617465640000000000000000000000600082015250565b600061428b60158361345c565b915061429682614255565b602082019050919050565b600060208201905081810360008301526142ba8161427e565b9050919050565b600060808201905081810360008301526142dc81888a614047565b905081810360208301526142f181868861410a565b90506143006040830185614167565b61430d606083018461356f565b979650505050505050565b60008151905061432781613219565b92915050565b600060208284031215614343576143426130a8565b5b600061435184828501614318565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806143a157607f821691505b602082108114156143b5576143b461435a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006144248261350c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614457576144566143ea565b5b600182019050919050565b7f4e6f6e6578697374656e7420746f6b656e000000000000000000000000000000600082015250565b600061449860118361345c565b91506144a382614462565b602082019050919050565b600060208201905081810360008301526144c78161448b565b9050919050565b60006144d98261350c565b91506144e48361350c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561451d5761451c6143ea565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006145628261350c565b915061456d8361350c565b92508261457d5761457c614528565b5b828204905092915050565b7f43616e6e6f74207769746864726177207769746820616e20616374697665207360008201527f706c697400000000000000000000000000000000000000000000000000000000602082015250565b60006145e460248361345c565b91506145ef82614588565b604082019050919050565b60006020820190508181036000830152614613816145d7565b9050919050565b60006146258261350c565b91506146308361350c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614665576146646143ea565b5b828201905092915050565b7f507572636861736520776f756c6420657863656564206d617820737570706c79600082015250565b60006146a660208361345c565b91506146b182614670565b602082019050919050565b600060208201905081810360008301526146d581614699565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000614738602e8361345c565b9150614743826146dc565b604082019050919050565b600060208201905081810360008301526147678161472b565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006147958261476e565b61479f8185614779565b93506147af81856020860161346d565b6147b8816134a0565b840191505092915050565b600060208201905081810360008301526147dd818461478a565b905092915050565b6000819050919050565b600060ff82169050919050565b600061481761481261480d846147e5565b613f82565b6147ef565b9050919050565b614827816147fc565b82525050565b6000602082019050614842600083018461481e565b92915050565b7f53616c65206d7573742062652061637469766520746f206d696e740000000000600082015250565b600061487e601b8361345c565b915061488982614848565b602082019050919050565b600060208201905081810360008301526148ad81614871565b9050919050565b7f534f4c44204f5554000000000000000000000000000000000000000000000000600082015250565b60006148ea60088361345c565b91506148f5826148b4565b602082019050919050565b60006020820190508181036000830152614919816148dd565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600061495660128361345c565b915061496182614920565b602082019050919050565b6000602082019050818103600083015261498581614949565b9050919050565b7f4578636565646564206d6178206e756d62657220706572206d696e7400000000600082015250565b60006149c2601c8361345c565b91506149cd8261498c565b602082019050919050565b600060208201905081810360008301526149f1816149b5565b9050919050565b600060a082019050614a0d600083018a61356f565b8181036020830152614a2081888a614047565b90508181036040830152614a3581868861410a565b9050614a446060830185614167565b614a51608083018461356f565b98975050505050505050565b6000614a70614a6b84613900565b6136b6565b905082815260208101848484011115614a8c57614a8b6138fb565b5b614a9784828561346d565b509392505050565b600082601f830112614ab457614ab3613122565b5b8151614ac4848260208601614a5d565b91505092915050565b600060208284031215614ae357614ae26130a8565b5b600082015167ffffffffffffffff811115614b0157614b006130ad565b5b614b0d84828501614a9f565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614b7260268361345c565b9150614b7d82614b16565b604082019050919050565b60006020820190508181036000830152614ba181614b65565b9050919050565b600081519050614bb781613516565b92915050565b600060208284031215614bd357614bd26130a8565b5b6000614be184828501614ba8565b91505092915050565b600081519050614bf981613d40565b92915050565b600060208284031215614c1557614c146130a8565b5b6000614c2384828501614bea565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614c6260208361345c565b9150614c6d82614c2c565b602082019050919050565b60006020820190508181036000830152614c9181614c55565b9050919050565b600081519050919050565b6000819050602082019050919050565b614cbc81613fc0565b82525050565b6000614cce8383614cb3565b60208301905092915050565b6000602082019050919050565b6000614cf282614c98565b614cfc8185613fe1565b9350614d0783614ca3565b8060005b83811015614d38578151614d1f8882614cc2565b9750614d2a83614cda565b925050600181019050614d0b565b5085935050505092915050565b6000606082019050614d5a600083018661356f565b614d6760208301856135d9565b8181036040830152614d798184614ce7565b9050949350505050565b600081905092915050565b50565b6000614d9e600083614d83565b9150614da982614d8e565b600082019050919050565b6000614dbf82614d91565b9150819050919050565b7f436f756c64206e6f74207472616e736665722045544820746f2073706c697400600082015250565b6000614dff601f8361345c565b9150614e0a82614dc9565b602082019050919050565b60006020820190508181036000830152614e2e81614df2565b9050919050565b6000608082019050614e4a600083018761356f565b614e57602083018661356f565b614e6460408301856135d9565b8181036060830152614e76818461478a565b905095945050505050565b600081519050614e90816133c2565b92915050565b600060208284031215614eac57614eab6130a8565b5b6000614eba84828501614e81565b91505092915050565b600081905092915050565b6000614ed982613451565b614ee38185614ec3565b9350614ef381856020860161346d565b80840191505092915050565b6000614f0b8285614ece565b9150614f178284614ece565b9150819050939250505056fea264697066735822122003487984c0d65aa51146bdd35cac994b1f0ff2c8dcfc972c9447490918d8abb164736f6c63430008090033