Contract Address Details

0x6a8d198F949d4B04A5A1052EF529c058C41ca63A

Creator
0x2b0ec0–0bb8c6 at 0xd96369–1867a0
Balance
0 CHZ ($0.00 USD)
Tokens
Fetching tokens...
Transactions
0 Transactions
Transfers
0 Transfers
Gas Used
Fetching gas used...
Last Balance Update
21693951
Contract is not verified. However, we found a verified contract with the same bytecode in Blockscout DB 0x68a9a08862c69fcb4921ca9486209c3b4a963ff5.
All metadata displayed below is from that contract. In order to verify current contract, click Verify & Publish button
Verify & Publish
Contract name:
NFTImplementation




Optimization enabled
false
Compiler version
v0.5.5+commit.47a71e8f




Verified at
2023-09-14T15:18:51.586636Z

Contract source code

// File: @openzeppelin/upgrades/contracts/Initializable.sol
pragma solidity >=0.4.24 <0.7.0;
/**
* @title Initializable
*
* @dev Helper contract to support initializer functions. To use it, replace
* the constructor with a function that has the `initializer` modifier.
* WARNING: Unlike constructors, initializer functions must be manually
* invoked. This applies both to deploying an Initializable contract, as well
* as extending an Initializable contract via inheritance.
* WARNING: When used with inheritance, manual care must be taken to not invoke
* a parent initializer twice, or ensure that all initializers are idempotent,
* because this is not dealt with automatically as with constructors.
*/
contract Initializable {
/**
* @dev Indicates that the contract has been initialized.
*/
bool private initialized;
/**
* @dev Indicates that the contract is in the process of being initialized.
*/
bool private initializing;
/**
* @dev Modifier to use in the initializer function of a contract.
*/
modifier initializer() {
require(initializing || isConstructor() || !initialized, "Contract instance has already been initialized");
bool isTopLevelCall = !initializing;
if (isTopLevelCall) {
initializing = true;
initialized = true;
}
 
 
×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”×”
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract ABI

[{"type":"constructor","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"addMinter","inputs":[{"type":"address","name":"account"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"approve","inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"constant":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":""}],"name":"balanceOf","inputs":[{"type":"address","name":"owner"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":""}],"name":"baseURI","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"burn","inputs":[{"type":"uint256","name":"tokenId"}],"constant":false},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":""}],"name":"getApproved","inputs":[{"type":"uint256","name":"tokenId"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":""}],"name":"getOwner","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"initialize","inputs":[{"type":"string","name":"name"},{"type":"string","name":"symbol"},{"type":"address","name":"sender"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"initialize","inputs":[{"type":"string","name":"name"},{"type":"string","name":"symbol"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"initialize","inputs":[],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"initialize","inputs":[{"type":"address","name":"sender"}],"constant":false},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":""}],"name":"isApprovedForAll","inputs":[{"type":"address","name":"owner"},{"type":"address","name":"operator"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":""}],"name":"isMinter","inputs":[{"type":"address","name":"account"}],"constant":true},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":""}],"name":"mint","inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256[]","name":""}],"name":"mintMultiple","inputs":[{"type":"address[]","name":"to"},{"type":"string","name":"tokenURI"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256[]","name":""}],"name":"mintMultiple","inputs":[{"type":"address","name":"to"},{"type":"string","name":"tokenURI"},{"type":"uint256","name":"total"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":""}],"name":"mintSingle","inputs":[{"type":"address","name":"to"},{"type":"string","name":"tokenURI"}],"constant":false},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":""}],"name":"name","inputs":[],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":""}],"name":"ownerOf","inputs":[{"type":"uint256","name":"tokenId"}],"constant":true},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"removeMinter","inputs":[{"type":"address","name":"minter"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceMinter","inputs":[],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":""}],"name":"safeMint","inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"},{"type":"bytes","name":"_data"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":""}],"name":"safeMint","inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"safeTransferFrom","inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"safeTransferFrom","inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"},{"type":"bytes","name":"_data"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setApprovalForAll","inputs":[{"type":"address","name":"to"},{"type":"bool","name":"approved"}],"constant":false},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":""}],"name":"supportsInterface","inputs":[{"type":"bytes4","name":"interfaceId"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":""}],"name":"symbol","inputs":[],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":""}],"name":"tokenByIndex","inputs":[{"type":"uint256","name":"index"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":""}],"name":"tokenOfOwnerByIndex","inputs":[{"type":"address","name":"owner"},{"type":"uint256","name":"index"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":""}],"name":"tokenURI","inputs":[{"type":"uint256","name":"tokenId"}],"constant":true},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":""}],"name":"totalSupply","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferFrom","inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"constant":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferMultiple","inputs":[{"type":"address[]","name":"to"},{"type":"uint256[]","name":"tokenIds"}],"constant":false},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"approved","indexed":true},{"type":"uint256","name":"tokenId","indexed":true}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"operator","indexed":true},{"type":"bool","name":"approved","indexed":false}],"anonymous":false},{"type":"event","name":"MinterAdded","inputs":[{"type":"address","name":"account","indexed":true}],"anonymous":false},{"type":"event","name":"MinterRemoved","inputs":[{"type":"address","name":"account","indexed":true}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"tokenId","indexed":true}],"anonymous":false}]
            

Deployed ByteCode

Verify & Publish
0x608060405234801561001057600080fd5b50600436106102065760003560e01c80636352211e1161011a57806398650275116100ad578063aa271e1a1161007c578063aa271e1a146110e2578063b88d4fde1461113e578063c4d66de814611243578063c87b56dd14611287578063e985e9c51461132e57610206565b80639865027514610f54578063a05fccef14610f5e578063a14481941461102c578063a22cb4651461109257610206565b80638832e6e3116100e95780638832e6e314610d46578063893d20e814610e4357806395d89b4114610e8d578063983b2d5614610f1057610206565b80636352211e14610bf35780636c0360eb14610c6157806370a0823114610ce45780638129fc1c14610d3c57610206565b806323b872dd1161019d57806340c10f191161016c57806340c10f191461095d57806342842e0e146109c357806342966c6814610a315780634cd88b7614610a5f5780634f6ccce714610bb157610206565b806323b872dd146107515780632f745c59146107bf5780633092afd5146108215780633f1bc49d1461086557610206565b8063095ea7b3116101d9578063095ea7b3146104d35780630d9cc27514610521578063130899fb1461061057806318160ddd1461073357610206565b806301ffc9a71461020b57806306fdde0314610270578063077f224a146102f3578063081812fc14610465575b600080fd5b6102566004803603602081101561022157600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690602001909291905050506113aa565b604051808215151515815260200191505060405180910390f35b610278611412565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b857808201518184015260208101905061029d565b50505050905090810190601f1680156102e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104636004803603606081101561030957600080fd5b810190808035906020019064010000000081111561032657600080fd5b82018360208201111561033857600080fd5b8035906020019184600183028401116401000000008311171561035a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103bd57600080fd5b8201836020820111156103cf57600080fd5b803590602001918460018302840111640100000000831117156103f157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114b4565b005b6104916004803603602081101561047b57600080fd5b81019080803590602001909291905050506116a3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61051f600480360360408110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611740565b005b6105fa6004803603604081101561053757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561057457600080fd5b82018360208201111561058657600080fd5b803590602001918460018302840111640100000000831117156105a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061192b565b6040518082815260200191505060405180910390f35b6106dc6004803603604081101561062657600080fd5b810190808035906020019064010000000081111561064357600080fd5b82018360208201111561065557600080fd5b8035906020019184602083028401116401000000008311171561067757600080fd5b90919293919293908035906020019064010000000081111561069857600080fd5b8201836020820111156106aa57600080fd5b803590602001918460018302840111640100000000831117156106cc57600080fd5b90919293919293905050506119cc565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561071f578082015181840152602081019050610704565b505050509050019250505060405180910390f35b61073b611b33565b6040518082815260200191505060405180910390f35b6107bd6004803603606081101561076757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b40565b005b61080b600480360360408110156107d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bb8565b6040518082815260200191505060405180910390f35b6108636004803603602081101561083757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c7b565b005b6109066004803603606081101561087b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156108b857600080fd5b8201836020820111156108ca57600080fd5b803590602001918460018302840111640100000000831117156108ec57600080fd5b909192939192939080359060200190929190505050611d62565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561094957808201518184015260208101905061092e565b505050509050019250505060405180910390f35b6109a96004803603604081101561097357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e96565b604051808215151515815260200191505060405180910390f35b610a2f600480360360608110156109d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f72565b005b610a5d60048036036020811015610a4757600080fd5b8101908080359060200190929190505050611f92565b005b610baf60048036036040811015610a7557600080fd5b8101908080359060200190640100000000811115610a9257600080fd5b820183602082011115610aa457600080fd5b80359060200191846001830284011164010000000083111715610ac657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b2957600080fd5b820183602082011115610b3b57600080fd5b80359060200191846001830284011164010000000083111715610b5d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612064565b005b610bdd60048036036020811015610bc757600080fd5b81019080803590602001909291905050506121b8565b6040518082815260200191505060405180910390f35b610c1f60048036036020811015610c0957600080fd5b810190808035906020019092919050505061223c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c69612306565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ca9578082015181840152602081019050610c8e565b50505050905090810190601f168015610cd65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610d2660048036036020811015610cfa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123a8565b6040518082815260200191505060405180910390f35b610d4461247f565b005b610e2960048036036060811015610d5c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610da357600080fd5b820183602082011115610db557600080fd5b80359060200191846001830284011164010000000083111715610dd757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506125a3565b604051808215151515815260200191505060405180910390f35b610e4b612622565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e9561264d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ed5578082015181840152602081019050610eba565b50505050905090810190601f168015610f025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f5260048036036020811015610f2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126ef565b005b610f5c612762565b005b61102a60048036036040811015610f7457600080fd5b8101908080359060200190640100000000811115610f9157600080fd5b820183602082011115610fa357600080fd5b80359060200191846020830284011164010000000083111715610fc557600080fd5b909192939192939080359060200190640100000000811115610fe657600080fd5b820183602082011115610ff857600080fd5b8035906020019184602083028401116401000000008311171561101a57600080fd5b9091929391929390505050612774565b005b6110786004803603604081101561104257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128b4565b604051808215151515815260200191505060405180910390f35b6110e0600480360360408110156110a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612931565b005b611124600480360360208110156110f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aeb565b604051808215151515815260200191505060405180910390f35b6112416004803603608081101561115457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156111bb57600080fd5b8201836020820111156111cd57600080fd5b803590602001918460018302840111640100000000831117156111ef57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612b09565b005b6112856004803603602081101561125957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b83565b005b6112b36004803603602081101561129d57600080fd5b8101908080359060200190929190505050612ca1565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156112f35780820151818401526020810190506112d8565b50505050905090810190601f1680156113205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6113906004803603604081101561134457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ea7565b604051808215151515815260200191505060405180910390f35b600060336000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060d28054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114aa5780601f1061147f576101008083540402835291602001916114aa565b820191906000526020600020905b81548152906001019060200180831161148d57829003601f168201915b5050505050905090565b600060019054906101000a900460ff16806114d357506114d2612f3b565b5b806114ea57506000809054906101000a900460ff16155b1515611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015611591576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61019f60149054906101000a900460ff16151515611617576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f616c726561647920696e697469616c697a65640000000000000000000000000081525060200191505060405180910390fd5b61161f612f52565b6116298484612064565b61163161247f565b61163a82612b83565b3361019f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561169d5760008060016101000a81548160ff0219169083151502179055505b50505050565b60006116ae8261306b565b1515611705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614f55602c913960400191505060405180910390fd5b6067600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061174b8261223c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806150556021913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166117f36130dd565b73ffffffffffffffffffffffffffffffffffffffff16148061182257506118218161181c6130dd565b612ea7565b5b1515611879576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180614e796038913960400191505060405180910390fd5b826067600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600061193d6119386130dd565b612aeb565b1515611994576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f046030913960400191505060405180910390fd5b61199f61019e6130e5565b60006119ac61019e6130fb565b90506119b88482613109565b6119c2818461312a565b8091505092915050565b60606119de6119d96130dd565b612aeb565b1515611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f046030913960400191505060405180910390fd5b6000858590509050606081604051908082528060200260200182016040528015611a6e5781602001602082028038833980820191505090505b50905060008060008090505b84811015611b2357611afa8a8a838181101515611a9357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1689898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506131b6565b8482815181101515611b0857fe5b90602001906020020181815250508080600101915050611a7a565b5082945050505050949350505050565b6000609e80549050905090565b611b51611b4b6130dd565b826131fe565b1515611ba8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806150766031913960400191505060405180910390fd5b611bb38383836132f4565b505050565b6000611bc3836123a8565b82101515611c1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614dcc602b913960400191505060405180910390fd5b609c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515611c6857fe5b9060005260206000200154905092915050565b61019f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4e6f7420616c6c6f77656420746f2063616c6c2074686973206d6574686f640081525060200191505060405180910390fd5b611d4a81612aeb565b1515611d5557611d5f565b611d5e81613318565b5b50565b6060611d74611d6f6130dd565b612aeb565b1515611dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f046030913960400191505060405180910390fd5b606082604051908082528060200260200182016040528015611dfc5781602001602082028038833980820191505090505b50905060008060008090505b85811015611e8757611e5e8989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506131b6565b8482815181101515611e6c57fe5b90602001906020020181815250508080600101915050611e08565b50829350505050949350505050565b600061019f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4e6f7420616c6c6f77656420746f2063616c6c2074686973206d6574686f640081525060200191505060405180910390fd5b611f688383613109565b6001905092915050565b611f8d83838360405180602001604052806000815250612b09565b505050565b61019f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4e6f7420616c6c6f77656420746f2063616c6c2074686973206d6574686f640081525060200191505060405180910390fd5b61206181613373565b50565b600060019054906101000a900460ff16806120835750612082612f3b565b5b8061209a57506000809054906101000a900460ff16155b15156120f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015612141576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b612149613388565b151561215457600080fd5b8260d2908051906020019061216a929190614cb2565b508160d39080519060200190612181929190614cb2565b50612192635b5e139f60e01b61339f565b80156121b35760008060016101000a81548160ff0219169083151502179055505b505050565b60006121c2611b33565b8210151561221b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806150a7602c913960400191505060405180910390fd5b609e8281548110151561222a57fe5b90600052602060002001549050919050565b6000806066600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156122fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180614edb6029913960400191505060405180910390fd5b80915050919050565b606060d58054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561239e5780601f106123735761010080835404028352916020019161239e565b820191906000526020600020905b81548152906001019060200180831161238157829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614eb1602a913960400191505060405180910390fd5b612478606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130fb565b9050919050565b600060019054906101000a900460ff168061249e575061249d612f3b565b5b806124b557506000809054906101000a900460ff16155b151561250c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561255c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b612564613388565b151561256f57600080fd5b61257f63780e9d6360e01b61339f565b80156125a05760008060016101000a81548160ff0219169083151502179055505b50565b60006125b56125b06130dd565b612aeb565b151561260c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f046030913960400191505060405180910390fd5b6126178484846134aa565b600190509392505050565b600061019f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060d38054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126e55780601f106126ba576101008083540402835291602001916126e5565b820191906000526020600020905b8154815290600101906020018083116126c857829003601f168201915b5050505050905090565b6126ff6126fa6130dd565b612aeb565b1515612756576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f046030913960400191505060405180910390fd5b61275f8161351d565b50565b61277261276d6130dd565b613318565b565b60006127c133848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050613578565b90506001151581151514151561283f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6e6f74206f776e6572206f6620616c6c20746865736520746f6b656e7300000081525060200191505060405180910390fd5b600083839050905060008090505b818110156128ab5761289e33888884818110151561286757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16878785818110151561289257fe5b90506020020135611f72565b808060010191505061284d565b50505050505050565b60006128c66128c16130dd565b612aeb565b151561291d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180614f046030913960400191505060405180910390fd5b612927838361360d565b6001905092915050565b6129396130dd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156129dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4552433732313a20617070726f766520746f2063616c6c65720000000000000081525060200191505060405180910390fd5b80606960006129e96130dd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16612a966130dd565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000612b028261013961362b90919063ffffffff16565b9050919050565b612b1a612b146130dd565b836131fe565b1515612b71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806150766031913960400191505060405180910390fd5b612b7d8484848461370b565b50505050565b600060019054906101000a900460ff1680612ba25750612ba1612f3b565b5b80612bb957506000809054906101000a900460ff16155b1515612c10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015612c60576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b612c68613388565b1515612c7357600080fd5b612c7c8261377f565b8015612c9d5760008060016101000a81548160ff0219169083151502179055505b5050565b6060612cac8261306b565b1515612d03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615026602f913960400191505060405180910390fd5b606060d460008481526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612dac5780601f10612d8157610100808354040283529160200191612dac565b820191906000526020600020905b815481529060010190602001808311612d8f57829003601f168201915b50505050509050600081511415612dd55760405180602001604052806000815250915050612ea2565b60d5816040516020018083805460018160011615610100020316600290048015612e365780601f10612e14576101008083540402835291820191612e36565b820191906000526020600020905b815481529060010190602001808311612e22575b505082805190602001908083835b602083101515612e695780518252602082019150602081019050602083039250612e44565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529150505b919050565b6000606960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000803090506000813b9050600081149250505090565b600060019054906101000a900460ff1680612f715750612f70612f3b565b5b80612f8857506000809054906101000a900460ff16155b1515612fdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561302f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61303761389a565b6130476380ac58cd60e01b61339f565b80156130685760008060016101000a81548160ff0219169083151502179055505b50565b6000806066600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b600033905090565b6001816000016000828254019250508190555050565b600081600001549050919050565b61311382826139ab565b61311d8282613bc7565b61312681613c8e565b5050565b6131338261306b565b151561318a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614f81602c913960400191505060405180910390fd5b8060d4600084815260200190815260200160002090805190602001906131b1929190614cb2565b505050565b60008060606131c661019e6130e5565b6131d161019e6130fb565b91506131dd8583613109565b6131e78483613cda565b90506131f3828261312a565b819250505092915050565b60006132098261306b565b1515613260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614e4d602c913960400191505060405180910390fd5b600061326b8361223c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806132da57508373ffffffffffffffffffffffffffffffffffffffff166132c2846116a3565b73ffffffffffffffffffffffffffffffffffffffff16145b806132eb57506132ea8185612ea7565b5b91505092915050565b6132ff838383613dae565b613309838261400d565b6133138282613bc7565b505050565b61332d816101396141b190919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b61338561337f8261223c565b82614270565b50565b600061339a6380ac58cd60e01b6113aa565b905090565b63ffffffff60e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415151561343d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433136353a20696e76616c696420696e746572666163652069640000000081525060200191505060405180910390fd5b600160336000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6134b48383613109565b6134c160008484846142cf565b1515613518576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180614df76032913960400191505060405180910390fd5b505050565b6135328161013961461190919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b60008082519050600080600090505b828110156135ff576135af85828151811015156135a057fe5b9060200190602002015161223c565b91508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415156135f25760009350505050613607565b8080600101915050613587565b506001925050505b92915050565b6136278282604051806020016040528060008152506134aa565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156136b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180614fad6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6137168484846132f4565b613722848484846142cf565b1515613779576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180614df76032913960400191505060405180910390fd5b50505050565b600060019054906101000a900460ff168061379e575061379d612f3b565b5b806137b557506000809054906101000a900460ff16155b151561380c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff16159050801561385c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61386582612aeb565b1515613875576138748261351d565b5b80156138965760008060016101000a81548160ff0219169083151502179055505b5050565b600060019054906101000a900460ff16806138b957506138b8612f3b565b5b806138d057506000809054906101000a900460ff16155b1515613927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180614fcf602e913960400191505060405180910390fd5b60008060019054906101000a900460ff161590508015613977576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6139876301ffc9a760e01b61339f565b80156139a85760008060016101000a81548160ff0219169083151502179055505b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613a50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4552433732313a206d696e7420746f20746865207a65726f206164647265737381525060200191505060405180910390fd5b613a598161306b565b151515613ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081525060200191505060405180910390fd5b816066600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613b67606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130e5565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b609c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050609d600083815260200190815260200160002081905550609c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915055505050565b609e80549050609f600083815260200190815260200160002081905550609e81908060018154018082558091505090600182039060005260206000200160009091929091909150555050565b606082613ce6836146ee565b6040516020018083805190602001908083835b602083101515613d1e5780518252602082019150602081019050602083039250613cf9565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b602083101515613d715780518252602082019150602081019050602083039250613d4c565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052905092915050565b8273ffffffffffffffffffffffffffffffffffffffff16613dce8261223c565b73ffffffffffffffffffffffffffffffffffffffff16141515613e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180614ffd6029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515613ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180614e296024913960400191505060405180910390fd5b613ecd816147ef565b613f14606860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206148af565b613f5b606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206130e5565b816066600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006140656001609c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506148d290919063ffffffff16565b90506000609d60008481526020019081526020016000205490508181141515614158576000609c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156140d657fe5b9060005260206000200154905080609c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561413057fe5b906000526020600020018190555081609d600083815260200190815260200160002081905550505b609c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054809190600190036141aa9190614d32565b5050505050565b6141bb828261362b565b1515614212576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614f346021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61427a828261491c565b600060d460008381526020019081526020016000208054600181600116156101000203166002900490501415156142cb5760d4600082815260200190815260200160002060006142ca9190614d5e565b5b5050565b60006142f08473ffffffffffffffffffffffffffffffffffffffff16614956565b15156142ff5760019050614609565b600060608573ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1663150b7a02905060e01b6143436130dd565b898888604051602401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156143f35780820151818401526020810190506143d8565b50505050905090810190601f1680156144205780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831015156144ba5780518252602082019150602081019050602083039250614495565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461451c576040519150601f19603f3d011682016040523d82523d6000602084013e614521565b606091505b5091509150811515614591576000815111156145405780518082602001fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180614df76032913960400191505060405180910390fd5b60008180602001905160208110156145a857600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161493505050505b949350505050565b61461b828261362b565b151515614690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b606060008211156147b15760605b60008311156147a8576030600a8481151561471357fe5b060181604051602001808360ff1660ff1660f81b815260010182805190602001908083835b60208310151561475d5780518252602082019150602081019050602083039250614738565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529050600a838115156147a057fe5b0492506146fc565b809150506147ea565b6040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090505b919050565b600073ffffffffffffffffffffffffffffffffffffffff166067600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156148ac5760006067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6148c7600182600001546148d290919063ffffffff16565b816000018190555050565b600061491483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506149a1565b905092915050565b6149268282614a63565b614930828261400d565b6000609d60008381526020019081526020016000208190555061495281614bf4565b5050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561499857506000801b8214155b92505050919050565b60008383111582901515614a50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614a155780820151818401526020810190506149fa565b50505050905090810190601f168015614a425780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff16614a838261223c565b73ffffffffffffffffffffffffffffffffffffffff16141515614af1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806150d36025913960400191505060405180910390fd5b614afa816147ef565b614b41606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206148af565b60006066600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000614c0f6001609e805490506148d290919063ffffffff16565b90506000609f60008481526020019081526020016000205490506000609e83815481101515614c3a57fe5b9060005260206000200154905080609e83815481101515614c5757fe5b906000526020600020018190555081609f600083815260200190815260200160002081905550609e805480919060019003614c929190614d32565b506000609f60008681526020019081526020016000208190555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614cf357805160ff1916838001178555614d21565b82800160010185558215614d21579182015b82811115614d20578251825591602001919060010190614d05565b5b509050614d2e9190614da6565b5090565b815481835581811115614d5957818360005260206000209182019101614d589190614da6565b5b505050565b50805460018160011615610100020316600290046000825580601f10614d845750614da3565b601f016020900490600052602060002090810190614da29190614da6565b5b50565b614dc891905b80821115614dc4576000816000905550600101614dac565b5090565b9056fe455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c654552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65644552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e64734552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776ea165627a7a72305820520677b010a098188f8f1d7d6c9c82edd7d36d0378da9ae06c3e557c9046fe9e0029