Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "OwnerOnlyAirdropMints", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_starting", "type": "uint256" }, { "internalType": "uint256", "name": "_ending", "type": "uint256" } ], "name": "migrateFrom", "outputs": [], "stateMutability": "nonpayable", "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": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pauseMigration", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pausedMigration", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_setMigAdd", "type": "address" } ], "name": "setMigrationFromContractAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600a90816200004a9190620004d8565b506000600b60006101000a81548160ff02191690831515021790555060006011553480156200007857600080fd5b506040518060400160405280601781526020017f536d6f6c20436869636b656e204a656c6c7920436f71730000000000000000008152506040518060400160405280600981526020017f4a656c6c79436f717300000000000000000000000000000000000000000000008152508160009081620000f69190620004d8565b508060019081620001089190620004d8565b5050506000600760006101000a81548160ff021916908315150217905550620001466200013a6200019060201b60201c565b6200019860201b60201c565b6000600c8190555060c8600d819055506102b2600e8190555060405180606001604052806036815260200162003f0d6036913960099081620001899190620004d8565b50620005bf565b600033905090565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002e057607f821691505b602082108103620002f657620002f562000298565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000321565b6200036c868362000321565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003b9620003b3620003ad8462000384565b6200038e565b62000384565b9050919050565b6000819050919050565b620003d58362000398565b620003ed620003e482620003c0565b8484546200032e565b825550505050565b600090565b62000404620003f5565b62000411818484620003ca565b505050565b5b8181101562000439576200042d600082620003fa565b60018101905062000417565b5050565b601f82111562000488576200045281620002fc565b6200045d8462000311565b810160208510156200046d578190505b620004856200047c8562000311565b83018262000416565b50505b505050565b600082821c905092915050565b6000620004ad600019846008026200048d565b1980831691505092915050565b6000620004c883836200049a565b9150826002028217905092915050565b620004e3826200025e565b67ffffffffffffffff811115620004ff57620004fe62000269565b5b6200050b8254620002c7565b620005188282856200043d565b600060209050601f8311600181146200055057600084156200053b578287015190505b620005478582620004ba565b865550620005b7565b601f1984166200056086620002fc565b60005b828110156200058a5784890151825560018201915060208501945060208101905062000563565b86831015620005aa5784890151620005a6601f8916826200049a565b8355505b6001600288020188555050505b505050505050565b61393e80620005cf6000396000f3fe6080604052600436106101b75760003560e01c806368a5debb116100ec578063a22cb4651161008a578063c87b56dd11610064578063c87b56dd146105d1578063cb7ab1921461060e578063e985e9c51461062a578063f2fde38b14610667576101b7565b8063a22cb46514610554578063b88d4fde1461057d578063c6682862146105a6576101b7565b80637fb02987116100c65780637fb02987146104bc5780638456cb59146104e75780638da5cb5b146104fe57806395d89b4114610529576101b7565b806368a5debb1461043f57806370a0823114610468578063715018a6146104a5576101b7565b806334fa505d1161015957806344a08bf31161013357806344a08bf31461038557806355f804b3146103ae5780635c975abb146103d75780636352211e14610402576101b7565b806334fa505d1461031c5780633f4ba83a1461034557806342842e0e1461035c576101b7565b8063095ea7b311610195578063095ea7b31461026157806318160ddd1461028a57806323b872dd146102b55780632a55205a146102de576101b7565b806301ffc9a7146101bc57806306fdde03146101f9578063081812fc14610224575b600080fd5b3480156101c857600080fd5b506101e360048036038101906101de91906122a1565b610690565b6040516101f091906122e9565b60405180910390f35b34801561020557600080fd5b5061020e6106f8565b60405161021b919061239d565b60405180910390f35b34801561023057600080fd5b5061024b600480360381019061024691906123f5565b61078a565b6040516102589190612463565b60405180910390f35b34801561026d57600080fd5b50610288600480360381019061028391906124aa565b6107d0565b005b34801561029657600080fd5b5061029f6108e7565b6040516102ac91906124f9565b60405180910390f35b3480156102c157600080fd5b506102dc60048036038101906102d79190612514565b6108f8565b005b3480156102ea57600080fd5b5061030560048036038101906103009190612567565b610958565b6040516103139291906125a7565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e91906125fc565b610989565b005b34801561035157600080fd5b5061035a6109ae565b005b34801561036857600080fd5b50610383600480360381019061037e9190612514565b6109c0565b005b34801561039157600080fd5b506103ac60048036038101906103a79190612567565b6109e0565b005b3480156103ba57600080fd5b506103d560048036038101906103d0919061275e565b610bbf565b005b3480156103e357600080fd5b506103ec610bda565b6040516103f991906122e9565b60405180910390f35b34801561040e57600080fd5b50610429600480360381019061042491906123f5565b610bf1565b6040516104369190612463565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906127a7565b610ca2565b005b34801561047457600080fd5b5061048f600480360381019061048a91906127a7565b610cee565b60405161049c91906124f9565b60405180910390f35b3480156104b157600080fd5b506104ba610da5565b005b3480156104c857600080fd5b506104d1610db9565b6040516104de91906122e9565b60405180910390f35b3480156104f357600080fd5b506104fc610dcc565b005b34801561050a57600080fd5b50610513610dde565b6040516105209190612463565b60405180910390f35b34801561053557600080fd5b5061053e610e08565b60405161054b919061239d565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906127d4565b610e9a565b005b34801561058957600080fd5b506105a4600480360381019061059f91906128b5565b610eb0565b005b3480156105b257600080fd5b506105bb610f12565b6040516105c8919061239d565b60405180910390f35b3480156105dd57600080fd5b506105f860048036038101906105f391906123f5565b610fa0565b604051610605919061239d565b60405180910390f35b610628600480360381019061062391906123f5565b61104a565b005b34801561063657600080fd5b50610651600480360381019061064c9190612938565b6110cb565b60405161065e91906122e9565b60405180910390f35b34801561067357600080fd5b5061068e600480360381019061068991906127a7565b61115f565b005b6000632a55205a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036106e757600190506106f3565b6106f0826111e2565b90505b919050565b606060008054610707906129a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610733906129a7565b80156107805780601f1061075557610100808354040283529160200191610780565b820191906000526020600020905b81548152906001019060200180831161076357829003601f168201915b5050505050905090565b6000610795826112c4565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107db82610bf1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361084b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084290612a4a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661086a61130f565b73ffffffffffffffffffffffffffffffffffffffff16148061089957506108988161089361130f565b6110cb565b5b6108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612adc565b60405180910390fd5b6108e28383611317565b505050565b60006108f360086113d0565b905090565b61090961090361130f565b826113de565b610948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093f90612b6e565b60405180910390fd5b610953838383611473565b505050565b600080610963610dde565b612710600e54856109749190612bbd565b61097e9190612c46565b915091509250929050565b6109916116d9565b80600b60006101000a81548160ff02191690831515021790555050565b6109b66116d9565b6109be611757565b565b6109db83838360405180602001604052806000815250610eb0565b505050565b6109e86116d9565b600b60009054906101000a900460ff1615610a0257600080fd5b81601181905550610a11610dde565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008290505b818111610bba57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e6011546040518263ffffffff1660e01b8152600401610abb91906124f9565b602060405180830381865afa158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afc9190612c8c565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b8d601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166011546109c0565b600160116000828254610ba09190612cb9565b925050819055508080610bb290612d0f565b915050610a57565b505050565b610bc76116d9565b8060099081610bd69190612f03565b5050565b6000600760009054906101000a900460ff16905090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9090613021565b60405180910390fd5b80915050919050565b610caa6116d9565b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d55906130b3565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dad6116d9565b610db760006117ba565b565b600b60009054906101000a900460ff1681565b610dd46116d9565b610ddc611880565b565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610e17906129a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610e43906129a7565b8015610e905780601f10610e6557610100808354040283529160200191610e90565b820191906000526020600020905b815481529060010190602001808311610e7357829003601f168201915b5050505050905090565b610eac610ea561130f565b83836118e3565b5050565b610ec1610ebb61130f565b836113de565b610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef790612b6e565b60405180910390fd5b610f0c84848484611a4f565b50505050565b600a8054610f1f906129a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4b906129a7565b8015610f985780601f10610f6d57610100808354040283529160200191610f98565b820191906000526020600020905b815481529060010190602001808311610f7b57829003601f168201915b505050505081565b6060610fab82611aab565b610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190613145565b60405180910390fd5b6000610ff4611b17565b905060008151116110145760405180602001604052806000815250611042565b8061101e84611ba9565b600a60405160200161103293929190613224565b6040516020818303038152906040525b915050919050565b6110526116d9565b61105a610dde565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561109f573d6000803e3d6000fd5b5060005b818110156110c7576110b433611d09565b80806110bf90612d0f565b9150506110a3565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6111676116d9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd906132c7565b60405180910390fd5b6111df816117ba565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112ad57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806112bd57506112bc82611d7d565b5b9050919050565b6112cd81611aab565b61130c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130390613021565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661138a83610bf1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6000806113ea83610bf1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061142c575061142b81856110cb565b5b8061146a57508373ffffffffffffffffffffffffffffffffffffffff166114528461078a565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661149382610bf1565b73ffffffffffffffffffffffffffffffffffffffff16146114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090613359565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154f906133eb565b60405180910390fd5b611563838383611de7565b61156e600082611317565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115be919061340b565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116159190612cb9565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46116d4838383611dff565b505050565b6116e161130f565b73ffffffffffffffffffffffffffffffffffffffff166116ff610dde565b73ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c9061348b565b60405180910390fd5b565b61175f611e04565b6000600760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6117a361130f565b6040516117b09190612463565b60405180910390a1565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611888611e4d565b6001600760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118cc61130f565b6040516118d99190612463565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611951576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611948906134f7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611a4291906122e9565b60405180910390a3505050565b611a5a848484611473565b611a6684848484611e97565b611aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9c90613589565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b606060098054611b26906129a7565b80601f0160208091040260200160405190810160405280929190818152602001828054611b52906129a7565b8015611b9f5780601f10611b7457610100808354040283529160200191611b9f565b820191906000526020600020905b815481529060010190602001808311611b8257829003601f168201915b5050505050905090565b606060008203611bf0576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611d04565b600082905060005b60008214611c22578080611c0b90612d0f565b915050600a82611c1b9190612c46565b9150611bf8565b60008167ffffffffffffffff811115611c3e57611c3d612633565b5b6040519080825280601f01601f191660200182016040528015611c705781602001600182028036833780820191505090505b5090505b60008514611cfd57600182611c89919061340b565b9150600a85611c9891906135a9565b6030611ca49190612cb9565b60f81b818381518110611cba57611cb96135da565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611cf69190612c46565b9450611c74565b8093505050505b919050565b611d13600861201e565b600d54611d2060086113d0565b1115611d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5890613655565b60405180910390fd5b6000611d6d60086113d0565b9050611d798282612034565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611def611e4d565b611dfa83838361220d565b505050565b505050565b611e0c610bda565b611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e42906136c1565b60405180910390fd5b565b611e55610bda565b15611e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8c9061372d565b60405180910390fd5b565b6000611eb88473ffffffffffffffffffffffffffffffffffffffff16612212565b15612011578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611ee161130f565b8786866040518563ffffffff1660e01b8152600401611f0394939291906137a2565b6020604051808303816000875af1925050508015611f3f57506040513d601f19601f82011682018060405250810190611f3c9190613803565b60015b611fc1573d8060008114611f6f576040519150601f19603f3d011682016040523d82523d6000602084013e611f74565b606091505b506000815103611fb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb090613589565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612016565b600190505b949350505050565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209a9061387c565b60405180910390fd5b6120ac81611aab565b156120ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e3906138e8565b60405180910390fd5b6120f860008383611de7565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121489190612cb9565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461220960008383611dff565b5050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61227e81612249565b811461228957600080fd5b50565b60008135905061229b81612275565b92915050565b6000602082840312156122b7576122b661223f565b5b60006122c58482850161228c565b91505092915050565b60008115159050919050565b6122e3816122ce565b82525050565b60006020820190506122fe60008301846122da565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561233e578082015181840152602081019050612323565b8381111561234d576000848401525b50505050565b6000601f19601f8301169050919050565b600061236f82612304565b612379818561230f565b9350612389818560208601612320565b61239281612353565b840191505092915050565b600060208201905081810360008301526123b78184612364565b905092915050565b6000819050919050565b6123d2816123bf565b81146123dd57600080fd5b50565b6000813590506123ef816123c9565b92915050565b60006020828403121561240b5761240a61223f565b5b6000612419848285016123e0565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061244d82612422565b9050919050565b61245d81612442565b82525050565b60006020820190506124786000830184612454565b92915050565b61248781612442565b811461249257600080fd5b50565b6000813590506124a48161247e565b92915050565b600080604083850312156124c1576124c061223f565b5b60006124cf85828601612495565b92505060206124e0858286016123e0565b9150509250929050565b6124f3816123bf565b82525050565b600060208201905061250e60008301846124ea565b92915050565b60008060006060848603121561252d5761252c61223f565b5b600061253b86828701612495565b935050602061254c86828701612495565b925050604061255d868287016123e0565b9150509250925092565b6000806040838503121561257e5761257d61223f565b5b600061258c858286016123e0565b925050602061259d858286016123e0565b9150509250929050565b60006040820190506125bc6000830185612454565b6125c960208301846124ea565b9392505050565b6125d9816122ce565b81146125e457600080fd5b50565b6000813590506125f6816125d0565b92915050565b6000602082840312156126125761261161223f565b5b6000612620848285016125e7565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61266b82612353565b810181811067ffffffffffffffff8211171561268a57612689612633565b5b80604052505050565b600061269d612235565b90506126a98282612662565b919050565b600067ffffffffffffffff8211156126c9576126c8612633565b5b6126d282612353565b9050602081019050919050565b82818337600083830152505050565b60006127016126fc846126ae565b612693565b90508281526020810184848401111561271d5761271c61262e565b5b6127288482856126df565b509392505050565b600082601f83011261274557612744612629565b5b81356127558482602086016126ee565b91505092915050565b6000602082840312156127745761277361223f565b5b600082013567ffffffffffffffff81111561279257612791612244565b5b61279e84828501612730565b91505092915050565b6000602082840312156127bd576127bc61223f565b5b60006127cb84828501612495565b91505092915050565b600080604083850312156127eb576127ea61223f565b5b60006127f985828601612495565b925050602061280a858286016125e7565b9150509250929050565b600067ffffffffffffffff82111561282f5761282e612633565b5b61283882612353565b9050602081019050919050565b600061285861285384612814565b612693565b9050828152602081018484840111156128745761287361262e565b5b61287f8482856126df565b509392505050565b600082601f83011261289c5761289b612629565b5b81356128ac848260208601612845565b91505092915050565b600080600080608085870312156128cf576128ce61223f565b5b60006128dd87828801612495565b94505060206128ee87828801612495565b93505060406128ff878288016123e0565b925050606085013567ffffffffffffffff8111156129205761291f612244565b5b61292c87828801612887565b91505092959194509250565b6000806040838503121561294f5761294e61223f565b5b600061295d85828601612495565b925050602061296e85828601612495565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806129bf57607f821691505b6020821081036129d2576129d1612978565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a3460218361230f565b9150612a3f826129d8565b604082019050919050565b60006020820190508181036000830152612a6381612a27565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000612ac6603e8361230f565b9150612ad182612a6a565b604082019050919050565b60006020820190508181036000830152612af581612ab9565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612b58602e8361230f565b9150612b6382612afc565b604082019050919050565b60006020820190508181036000830152612b8781612b4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612bc8826123bf565b9150612bd3836123bf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c0c57612c0b612b8e565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c51826123bf565b9150612c5c836123bf565b925082612c6c57612c6b612c17565b5b828204905092915050565b600081519050612c868161247e565b92915050565b600060208284031215612ca257612ca161223f565b5b6000612cb084828501612c77565b91505092915050565b6000612cc4826123bf565b9150612ccf836123bf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d0457612d03612b8e565b5b828201905092915050565b6000612d1a826123bf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d4c57612d4b612b8e565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612db97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612d7c565b612dc38683612d7c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612e00612dfb612df6846123bf565b612ddb565b6123bf565b9050919050565b6000819050919050565b612e1a83612de5565b612e2e612e2682612e07565b848454612d89565b825550505050565b600090565b612e43612e36565b612e4e818484612e11565b505050565b5b81811015612e7257612e67600082612e3b565b600181019050612e54565b5050565b601f821115612eb757612e8881612d57565b612e9184612d6c565b81016020851015612ea0578190505b612eb4612eac85612d6c565b830182612e53565b50505b505050565b600082821c905092915050565b6000612eda60001984600802612ebc565b1980831691505092915050565b6000612ef38383612ec9565b9150826002028217905092915050565b612f0c82612304565b67ffffffffffffffff811115612f2557612f24612633565b5b612f2f82546129a7565b612f3a828285612e76565b600060209050601f831160018114612f6d5760008415612f5b578287015190505b612f658582612ee7565b865550612fcd565b601f198416612f7b86612d57565b60005b82811015612fa357848901518255600182019150602085019450602081019050612f7e565b86831015612fc05784890151612fbc601f891682612ec9565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061300b60188361230f565b915061301682612fd5565b602082019050919050565b6000602082019050818103600083015261303a81612ffe565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600061309d60298361230f565b91506130a882613041565b604082019050919050565b600060208201905081810360008301526130cc81613090565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b600061312f602f8361230f565b915061313a826130d3565b604082019050919050565b6000602082019050818103600083015261315e81613122565b9050919050565b600081905092915050565b600061317b82612304565b6131858185613165565b9350613195818560208601612320565b80840191505092915050565b600081546131ae816129a7565b6131b88186613165565b945060018216600081146131d357600181146131e85761321b565b60ff198316865281151582028601935061321b565b6131f185612d57565b60005b83811015613213578154818901526001820191506020810190506131f4565b838801955050505b50505092915050565b60006132308286613170565b915061323c8285613170565b915061324882846131a1565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132b160268361230f565b91506132bc82613255565b604082019050919050565b600060208201905081810360008301526132e0816132a4565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061334360258361230f565b915061334e826132e7565b604082019050919050565b6000602082019050818103600083015261337281613336565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133d560248361230f565b91506133e082613379565b604082019050919050565b60006020820190508181036000830152613404816133c8565b9050919050565b6000613416826123bf565b9150613421836123bf565b92508282101561343457613433612b8e565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061347560208361230f565b91506134808261343f565b602082019050919050565b600060208201905081810360008301526134a481613468565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006134e160198361230f565b91506134ec826134ab565b602082019050919050565b60006020820190508181036000830152613510816134d4565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061357360328361230f565b915061357e82613517565b604082019050919050565b600060208201905081810360008301526135a281613566565b9050919050565b60006135b4826123bf565b91506135bf836123bf565b9250826135cf576135ce612c17565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f50726f6a6563742069732066696e6973686564206d696e74696e672e00000000600082015250565b600061363f601c8361230f565b915061364a82613609565b602082019050919050565b6000602082019050818103600083015261366e81613632565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006136ab60148361230f565b91506136b682613675565b602082019050919050565b600060208201905081810360008301526136da8161369e565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061371760108361230f565b9150613722826136e1565b602082019050919050565b600060208201905081810360008301526137468161370a565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006137748261374d565b61377e8185613758565b935061378e818560208601612320565b61379781612353565b840191505092915050565b60006080820190506137b76000830187612454565b6137c46020830186612454565b6137d160408301856124ea565b81810360608301526137e38184613769565b905095945050505050565b6000815190506137fd81612275565b92915050565b6000602082840312156138195761381861223f565b5b6000613827848285016137ee565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061386660208361230f565b915061387182613830565b602082019050919050565b6000602082019050818103600083015261389581613859565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006138d2601c8361230f565b91506138dd8261389c565b602082019050919050565b60006020820190508181036000830152613901816138c5565b905091905056fea2646970667358221220d2c3858982ffc5aaa0e19e32954d039a343028ac53a5142460cf4119f288257564736f6c634300080f0033697066733a2f2f516d5654423366474478615370386a78476446526176786d545041766d79434a6675464e55664d4846624e446b692f