| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186 |
- {
- "_format": "hh3-artifact-1",
- "contractName": "EasyTokenDocument",
- "sourceName": "contracts/EasyTokenDocument.sol",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "admin",
- "type": "address"
- },
- {
- "internalType": "string",
- "name": "name_",
- "type": "string"
- },
- {
- "internalType": "string",
- "name": "symbol_",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "inputs": [],
- "name": "AccessControlBadConfirmation",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "neededRole",
- "type": "bytes32"
- }
- ],
- "name": "AccessControlUnauthorizedAccount",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "sender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "name": "ERC721IncorrectOwner",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "operator",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "name": "ERC721InsufficientApproval",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "approver",
- "type": "address"
- }
- ],
- "name": "ERC721InvalidApprover",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "operator",
- "type": "address"
- }
- ],
- "name": "ERC721InvalidOperator",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "name": "ERC721InvalidOwner",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "receiver",
- "type": "address"
- }
- ],
- "name": "ERC721InvalidReceiver",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "ERC721InvalidSender",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "name": "ERC721NonexistentToken",
- "type": "error"
- },
- {
- "inputs": [],
- "name": "EnforcedPause",
- "type": "error"
- },
- {
- "inputs": [],
- "name": "ExpectedPause",
- "type": "error"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldValue",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newValue",
- "type": "uint256"
- }
- ],
- "name": "AppraisalUpdated",
- "type": "event"
- },
- {
- "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": false,
- "internalType": "uint256",
- "name": "_fromTokenId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_toTokenId",
- "type": "uint256"
- }
- ],
- "name": "BatchMetadataUpdate",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "bool",
- "name": "isBlacklisted",
- "type": "bool"
- }
- ],
- "name": "BlacklistUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "content",
- "type": "string"
- }
- ],
- "name": "ContentMinted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "uri",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes32",
- "name": "documentHash",
- "type": "bytes32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "appraisalValue",
- "type": "uint256"
- }
- ],
- "name": "DocumentMinted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_tokenId",
- "type": "uint256"
- }
- ],
- "name": "MetadataUpdate",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "Paused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "uri",
- "type": "string"
- }
- ],
- "name": "TokenURIUpdated",
- "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": [],
- "name": "APPRAISER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "COMPLIANCE_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "METADATA_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MINTER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "PAUSER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "name": "appraisalOf",
- "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": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "name": "contentOf",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "name": "documentHashOf",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "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": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantComplianceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "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": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "isBlacklisted",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "string",
- "name": "content",
- "type": "string"
- }
- ],
- "name": "mintContent",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "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": [],
- "name": "paused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "callerConfirmation",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "string",
- "name": "uri",
- "type": "string"
- },
- {
- "internalType": "bytes32",
- "name": "documentHash",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "appraisalValue",
- "type": "uint256"
- }
- ],
- "name": "safeMint",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "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": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "newValue",
- "type": "uint256"
- }
- ],
- "name": "setAppraisal",
- "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": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bool",
- "name": "status",
- "type": "bool"
- }
- ],
- "name": "setBlacklist",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "uri",
- "type": "string"
- }
- ],
- "name": "setTokenURI",
- "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": [
- {
- "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": [],
- "name": "unpause",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "valueDecimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- }
- ],
- "bytecode": "0x608060405234801561000f575f5ffd5b5060405161284238038061284283398101604081905261002e91610281565b81815f61003b8382610387565b5060016100488282610387565b5061005791505f905084610137565b506100827f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a84610137565b506100ad7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a684610137565b506100d87f6bd6b5318a46e5fff572d5e4258a20774aab40cc35ac7680654b9081fcc82f8084610137565b506101037f8f831c56b3d9bf5e541f4e1b3b7f898cdb4b80ba7a4af71f8797c706fd21674e84610137565b5061012e7f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee698584610137565b50505050610441565b5f8281526008602090815260408083206001600160a01b038516845290915281205460ff166101db575f8381526008602090815260408083206001600160a01b03861684529091529020805460ff191660011790556101933390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016101de565b505f5b92915050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610207575f5ffd5b81516001600160401b03811115610220576102206101e4565b604051601f8201601f19908116603f011681016001600160401b038111828210171561024e5761024e6101e4565b604052818152838201602001851015610265575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f60608486031215610293575f5ffd5b83516001600160a01b03811681146102a9575f5ffd5b60208501519093506001600160401b038111156102c4575f5ffd5b6102d0868287016101f8565b604086015190935090506001600160401b038111156102ed575f5ffd5b6102f9868287016101f8565b9150509250925092565b600181811c9082168061031757607f821691505b60208210810361033557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561038257805f5260205f20601f840160051c810160208510156103605750805b601f840160051c820191505b8181101561037f575f815560010161036c565b50505b505050565b81516001600160401b038111156103a0576103a06101e4565b6103b4816103ae8454610303565b8461033b565b6020601f8211600181146103e6575f83156103cf5750848201515b5f19600385901b1c1916600184901b17845561037f565b5f84815260208120601f198516915b8281101561041557878501518255602094850194600190920191016103f5565b508482101561043257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6123f48061044e5f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c80635c975abb11610135578063a7250552116100b4578063d539139311610079578063d539139314610527578063d547741f1461054e578063e63ab1e914610561578063e985e9c514610588578063fe575a871461059b575f5ffd5b8063a7250552146104b4578063aa0ab9b4146104c7578063acdd7c7e146104da578063b88d4fde14610501578063c87b56dd14610514575f5ffd5b806391d14854116100fa57806391d148541461046057806395d89b4114610473578063a217fddf1461047b578063a22cb46514610482578063a2a8516214610495575f5ffd5b80635c975abb146104145780636352211e1461041f57806370a0823114610432578063716a1dfd146104455780638456cb5914610458575f5ffd5b8063248a9ca3116101c1578063388417821161018657806338841782146103b05780633e7e8669146103d75780633f4ba83a146103e657806342842e0e146103ee57806342966c6814610401575f5ffd5b8063248a9ca31461034257806327427e31146103645780632d7d6de3146103775780632f2ff15d1461038a57806336568abe1461039d575f5ffd5b8063095ea7b311610207578063095ea7b3146102d557806311053490146102ea578063153b0d1e14610309578063162094c41461031c57806323b872dd1461032f575f5ffd5b806301ffc9a714610238578063062d3bd71461026057806306fdde0314610295578063081812fc146102aa575b5f5ffd5b61024b610246366004611c9a565b6105c6565b60405190151581526020015b60405180910390f35b6102877f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee698581565b604051908152602001610257565b61029d6105d6565b6040516102579190611ce3565b6102bd6102b8366004611cf5565b610665565b6040516001600160a01b039091168152602001610257565b6102e86102e3366004611d27565b61068c565b005b6102876102f8366004611cf5565b5f908152600b602052604090205490565b6102e8610317366004611d4f565b610719565b6102e861032a366004611e31565b6107a3565b6102e861033d366004611e75565b61083a565b610287610350366004611cf5565b5f9081526008602052604090206001015490565b61029d610372366004611cf5565b6108c3565b6102e8610385366004611eaf565b610994565b6102e8610398366004611ec8565b6109cd565b6102e86103ab366004611ec8565b6109f1565b6102877f6bd6b5318a46e5fff572d5e4258a20774aab40cc35ac7680654b9081fcc82f8081565b60405160068152602001610257565b6102e8610a24565b6102e86103fc366004611e75565b610a59565b6102e861040f366004611cf5565b610a73565b60075460ff1661024b565b6102bd61042d366004611cf5565b610a7e565b610287610440366004611eaf565b610a88565b610287610453366004611ef2565b610acd565b6102e8610cc0565b61024b61046e366004611ec8565b610cf2565b61029d610d1c565b6102875f81565b6102e8610490366004611d4f565b610d2b565b6102876104a3366004611cf5565b5f908152600a602052604090205490565b6102e86104c2366004611f70565b610da2565b6102876104d5366004611f90565b610e55565b6102877f8f831c56b3d9bf5e541f4e1b3b7f898cdb4b80ba7a4af71f8797c706fd21674e81565b6102e861050f366004611fea565b610f40565b61029d610522366004611cf5565b610f58565b6102877f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102e861055c366004611ec8565b610f63565b6102877f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61024b610596366004612061565b610f87565b61024b6105a9366004611eaf565b6001600160a01b03165f9081526009602052604090205460ff1690565b5f6105d082610fb4565b92915050565b60605f80546105e490612089565b80601f016020809104026020016040519081016040528092919081815260200182805461061090612089565b801561065b5780601f106106325761010080835404028352916020019161065b565b820191905f5260205f20905b81548152906001019060200180831161063e57829003601f168201915b5050505050905090565b5f61066f82610fd8565b505f828152600460205260409020546001600160a01b03166105d0565b335f9081526009602052604090205460ff16156106c45760405162461bcd60e51b81526004016106bb906120c1565b60405180910390fd5b6001600160a01b0382161561070b576001600160a01b0382165f9081526009602052604090205460ff161561070b5760405162461bcd60e51b81526004016106bb906120c1565b6107158282611010565b5050565b7f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee69856107438161101b565b6001600160a01b0383165f81815260096020908152604091829020805460ff191686151590811790915591519182527f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac91015b60405180910390a2505050565b7f6bd6b5318a46e5fff572d5e4258a20774aab40cc35ac7680654b9081fcc82f806107cd8161101b565b5f838152600260205260409020546001600160a01b03166108005760405162461bcd60e51b81526004016106bb906120e6565b61080a8383611025565b827f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd836040516107969190611ce3565b6001600160a01b03821661086357604051633250574960e11b81525f60048201526024016106bb565b5f61086f838333611074565b9050836001600160a01b0316816001600160a01b0316146108bd576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016106bb565b50505050565b5f818152600260205260409020546060906001600160a01b03166108f95760405162461bcd60e51b81526004016106bb906120e6565b5f828152600c60205260409020805461091190612089565b80601f016020809104026020016040519081016040528092919081815260200182805461093d90612089565b80156109885780601f1061095f57610100808354040283529160200191610988565b820191905f5260205f20905b81548152906001019060200180831161096b57829003601f168201915b50505050509050919050565b5f61099e8161101b565b6109c87f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee69858361119a565b505050565b5f828152600860205260409020600101546109e78161101b565b6108bd838361119a565b6001600160a01b0381163314610a1a5760405163334bd91960e11b815260040160405180910390fd5b6109c8828261122b565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610a4e8161101b565b610a56611296565b50565b6109c883838360405180602001604052805f815250610f40565b6107155f8233611074565b5f6105d082610fd8565b5f6001600160a01b038216610ab2576040516322718ad960e21b81525f60048201526024016106bb565b506001600160a01b03165f9081526003602052604090205490565b5f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610af88161101b565b6001600160a01b038516610b425760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016106bb565b6001600160a01b0385165f9081526009602052604090205460ff1615610b7a5760405162461bcd60e51b81526004016106bb906120c1565b5f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505082519293505050610bf45760405162461bcd60e51b815260206004820152601060248201526f10dbdb9d195b9d081c995c5d5a5c995960821b60448201526064016106bb565b601481511115610c395760405162461bcd60e51b815260206004820152601060248201526f436f6e74656e7420746f6f206c6f6e6760801b60448201526064016106bb565b5f600d5f8154610c489061210d565b91829055509050610c5987826112e8565b5f818152600c60205260409020610c71868883612175565b50866001600160a01b0316817ff05e67c3de67821ff2e563e324d41dcef5ba2e5e67cf17d2940c299f246115958888604051610cae92919061222f565b60405180910390a39695505050505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610cea8161101b565b610a56611301565b5f9182526008602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600180546105e490612089565b335f9081526009602052604090205460ff1615610d5a5760405162461bcd60e51b81526004016106bb906120c1565b8015610d98576001600160a01b0382165f9081526009602052604090205460ff1615610d985760405162461bcd60e51b81526004016106bb906120c1565b610715828261133e565b7f8f831c56b3d9bf5e541f4e1b3b7f898cdb4b80ba7a4af71f8797c706fd21674e610dcc8161101b565b5f838152600260205260409020546001600160a01b0316610dff5760405162461bcd60e51b81526004016106bb906120e6565b5f838152600b602090815260409182902080549085905582518181529182018590529185917f055b6ecdc3a759107dd03f782e78b1bef12002fb27ffddb3a020554573abdc90910160405180910390a250505050565b5f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610e808161101b565b6001600160a01b0386165f9081526009602052604090205460ff1615610eb85760405162461bcd60e51b81526004016106bb906120c1565b5f600d5f8154610ec79061210d565b91829055509050610ed887826112e8565b610ee28187611025565b5f818152600a60209081526040808320889055600b90915290819020859055516001600160a01b0388169082907f5d58de27b660562743bb3387ee08155a84e64dccc56b63d96ac6d6a563b7e3a990610cae908a908a908a9061225d565b610f4b84848461083a565b6108bd3385858585611349565b60606105d082611471565b5f82815260086020526040902060010154610f7d8161101b565b6108bd838361122b565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b03198216637965db0b60e01b14806105d057506105d08261157c565b5f818152600260205260408120546001600160a01b0316806105d057604051637e27328960e01b8152600481018490526024016106bb565b6107158282336115a0565b610a5681336115ad565b5f82815260066020526040902061103c8282612281565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b5f828152600260205260408120546001600160a01b031680156110c9576001600160a01b0381165f9081526009602052604090205460ff16156110c95760405162461bcd60e51b81526004016106bb906120c1565b6001600160a01b03851615611110576001600160a01b0385165f9081526009602052604090205460ff16156111105760405162461bcd60e51b81526004016106bb906120c1565b6001600160a01b0383165f9081526009602052604090205460ff16156111485760405162461bcd60e51b81526004016106bb906120c1565b5f6111548686866115e6565b90506001600160a01b038616611191575f858152600a60209081526040808320839055600b8252808320839055600c909152812061119191611c3b565b95945050505050565b5f6111a58383610cf2565b611224575f8381526008602090815260408083206001600160a01b03861684529091529020805460ff191660011790556111dc3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016105d0565b505f6105d0565b5f6112368383610cf2565b15611224575f8381526008602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016105d0565b61129e6115fa565b6007805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b610715828260405180602001604052805f81525061161f565b611309611636565b6007805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112cb3390565b61071533838361165a565b6001600160a01b0383163b1561146a57604051630a85bd0160e11b81526001600160a01b0384169063150b7a029061138b90889088908790879060040161233c565b6020604051808303815f875af19250505080156113c5575060408051601f3d908101601f191682019092526113c291810190612378565b60015b61142c573d8080156113f2576040519150601f19603f3d011682016040523d82523d5f602084013e6113f7565b606091505b5080515f0361142457604051633250574960e11b81526001600160a01b03851660048201526024016106bb565b805160208201fd5b6001600160e01b03198116630a85bd0160e11b1461146857604051633250574960e11b81526001600160a01b03851660048201526024016106bb565b505b5050505050565b606061147c82610fd8565b505f828152600660205260408120805461149590612089565b80601f01602080910402602001604051908101604052809291908181526020018280546114c190612089565b801561150c5780601f106114e35761010080835404028352916020019161150c565b820191905f5260205f20905b8154815290600101906020018083116114ef57829003601f168201915b505050505090505f61152860408051602081019091525f815290565b905080515f03611539575092915050565b81511561156b5780826040516020016115539291906123aa565b60405160208183030381529060405292505050919050565b611574846116f8565b949350505050565b5f6001600160e01b03198216632483248360e11b14806105d057506105d082611769565b6109c883838360016117b8565b6115b78282610cf2565b6107155760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016106bb565b5f6115ef611636565b6115748484846118bc565b60075460ff1661161d57604051638dfc202b60e01b815260040160405180910390fd5b565b61162983836119ae565b6109c8335f858585611349565b60075460ff161561161d5760405163d93c066560e01b815260040160405180910390fd5b6001600160a01b03821661168c57604051630b61174360e31b81526001600160a01b03831660048201526024016106bb565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606061170382610fd8565b505f61171960408051602081019091525f815290565b90505f8151116117375760405180602001604052805f815250611762565b8061174184611a0f565b6040516020016117529291906123aa565b6040516020818303038152906040525b9392505050565b5f6001600160e01b031982166380ac58cd60e01b148061179957506001600160e01b03198216635b5e139f60e01b145b806105d057506301ffc9a760e01b6001600160e01b03198316146105d0565b80806117cc57506001600160a01b03821615155b1561188d575f6117db84610fd8565b90506001600160a01b038316158015906118075750826001600160a01b0316816001600160a01b031614155b801561181a57506118188184610f87565b155b156118435760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016106bb565b811561188b5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f828152600260205260408120546001600160a01b03908116908316156118e8576118e8818486611a9f565b6001600160a01b03811615611922576119035f855f5f6117b8565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b03851615611950576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6001600160a01b0382166119d757604051633250574960e11b81525f60048201526024016106bb565b5f6119e383835f611074565b90506001600160a01b038116156109c8576040516339e3563760e11b81525f60048201526024016106bb565b60605f611a1b83611b03565b60010190505f8167ffffffffffffffff811115611a3a57611a3a611d88565b6040519080825280601f01601f191660200182016040528015611a64576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a6e57509392505050565b611aaa838383611bda565b6109c8576001600160a01b038316611ad857604051637e27328960e01b8152600481018290526024016106bb565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016106bb565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b415772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611b6d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b8b57662386f26fc10000830492506010015b6305f5e1008310611ba3576305f5e100830492506008015b6127108310611bb757612710830492506004015b60648310611bc9576064830492506002015b600a83106105d05760010192915050565b5f6001600160a01b038316158015906115745750826001600160a01b0316846001600160a01b03161480611c135750611c138484610f87565b806115745750505f908152600460205260409020546001600160a01b03908116911614919050565b508054611c4790612089565b5f825580601f10611c56575050565b601f0160209004905f5260205f2090810190610a5691905b80821115611c81575f8155600101611c6e565b5090565b6001600160e01b031981168114610a56575f5ffd5b5f60208284031215611caa575f5ffd5b813561176281611c85565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6117626020830184611cb5565b5f60208284031215611d05575f5ffd5b5035919050565b80356001600160a01b0381168114611d22575f5ffd5b919050565b5f5f60408385031215611d38575f5ffd5b611d4183611d0c565b946020939093013593505050565b5f5f60408385031215611d60575f5ffd5b611d6983611d0c565b915060208301358015158114611d7d575f5ffd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115611db657611db6611d88565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611de557611de5611d88565b604052838152905080828401851015611dfc575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112611e22575f5ffd5b61176283833560208501611d9c565b5f5f60408385031215611e42575f5ffd5b82359150602083013567ffffffffffffffff811115611e5f575f5ffd5b611e6b85828601611e13565b9150509250929050565b5f5f5f60608486031215611e87575f5ffd5b611e9084611d0c565b9250611e9e60208501611d0c565b929592945050506040919091013590565b5f60208284031215611ebf575f5ffd5b61176282611d0c565b5f5f60408385031215611ed9575f5ffd5b82359150611ee960208401611d0c565b90509250929050565b5f5f5f60408486031215611f04575f5ffd5b611f0d84611d0c565b9250602084013567ffffffffffffffff811115611f28575f5ffd5b8401601f81018613611f38575f5ffd5b803567ffffffffffffffff811115611f4e575f5ffd5b866020828401011115611f5f575f5ffd5b939660209190910195509293505050565b5f5f60408385031215611f81575f5ffd5b50508035926020909101359150565b5f5f5f5f60808587031215611fa3575f5ffd5b611fac85611d0c565b9350602085013567ffffffffffffffff811115611fc7575f5ffd5b611fd387828801611e13565b949794965050505060408301359260600135919050565b5f5f5f5f60808587031215611ffd575f5ffd5b61200685611d0c565b935061201460208601611d0c565b925060408501359150606085013567ffffffffffffffff811115612036575f5ffd5b8501601f81018713612046575f5ffd5b61205587823560208401611d9c565b91505092959194509250565b5f5f60408385031215612072575f5ffd5b61207b83611d0c565b9150611ee960208401611d0c565b600181811c9082168061209d57607f821691505b6020821081036120bb57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600b908201526a109b1858dadb1a5cdd195960aa1b604082015260600190565b6020808252600d908201526c24b73b30b634b2103a37b5b2b760991b604082015260600190565b5f6001820161212a57634e487b7160e01b5f52601160045260245ffd5b5060010190565b601f8211156109c857805f5260205f20601f840160051c810160208510156121565750805b601f840160051c820191505b8181101561146a575f8155600101612162565b67ffffffffffffffff83111561218d5761218d611d88565b6121a18361219b8354612089565b83612131565b5f601f8411600181146121d2575f85156121bb5750838201355b5f19600387901b1c1916600186901b17835561146a565b5f83815260208120601f198716915b8281101561220157868501358255602094850194600190920191016121e1565b508682101561221d575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b606081525f61226f6060830186611cb5565b60208301949094525060400152919050565b815167ffffffffffffffff81111561229b5761229b611d88565b6122af816122a98454612089565b84612131565b6020601f8211600181146122e1575f83156122ca5750848201515b5f19600385901b1c1916600184901b17845561146a565b5f84815260208120601f198516915b8281101561231057878501518255602094850194600190920191016122f0565b508482101561232d57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061236e90830184611cb5565b9695505050505050565b5f60208284031215612388575f5ffd5b815161176281611c85565b5f81518060208401855e5f93019283525090919050565b5f6115746123b88386612393565b8461239356fea2646970667358221220bdf147980c2d74a92adb32c5a6d4e23d5ca821620101dc19f301301acc24d96864736f6c634300081c0033",
- "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610234575f3560e01c80635c975abb11610135578063a7250552116100b4578063d539139311610079578063d539139314610527578063d547741f1461054e578063e63ab1e914610561578063e985e9c514610588578063fe575a871461059b575f5ffd5b8063a7250552146104b4578063aa0ab9b4146104c7578063acdd7c7e146104da578063b88d4fde14610501578063c87b56dd14610514575f5ffd5b806391d14854116100fa57806391d148541461046057806395d89b4114610473578063a217fddf1461047b578063a22cb46514610482578063a2a8516214610495575f5ffd5b80635c975abb146104145780636352211e1461041f57806370a0823114610432578063716a1dfd146104455780638456cb5914610458575f5ffd5b8063248a9ca3116101c1578063388417821161018657806338841782146103b05780633e7e8669146103d75780633f4ba83a146103e657806342842e0e146103ee57806342966c6814610401575f5ffd5b8063248a9ca31461034257806327427e31146103645780632d7d6de3146103775780632f2ff15d1461038a57806336568abe1461039d575f5ffd5b8063095ea7b311610207578063095ea7b3146102d557806311053490146102ea578063153b0d1e14610309578063162094c41461031c57806323b872dd1461032f575f5ffd5b806301ffc9a714610238578063062d3bd71461026057806306fdde0314610295578063081812fc146102aa575b5f5ffd5b61024b610246366004611c9a565b6105c6565b60405190151581526020015b60405180910390f35b6102877f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee698581565b604051908152602001610257565b61029d6105d6565b6040516102579190611ce3565b6102bd6102b8366004611cf5565b610665565b6040516001600160a01b039091168152602001610257565b6102e86102e3366004611d27565b61068c565b005b6102876102f8366004611cf5565b5f908152600b602052604090205490565b6102e8610317366004611d4f565b610719565b6102e861032a366004611e31565b6107a3565b6102e861033d366004611e75565b61083a565b610287610350366004611cf5565b5f9081526008602052604090206001015490565b61029d610372366004611cf5565b6108c3565b6102e8610385366004611eaf565b610994565b6102e8610398366004611ec8565b6109cd565b6102e86103ab366004611ec8565b6109f1565b6102877f6bd6b5318a46e5fff572d5e4258a20774aab40cc35ac7680654b9081fcc82f8081565b60405160068152602001610257565b6102e8610a24565b6102e86103fc366004611e75565b610a59565b6102e861040f366004611cf5565b610a73565b60075460ff1661024b565b6102bd61042d366004611cf5565b610a7e565b610287610440366004611eaf565b610a88565b610287610453366004611ef2565b610acd565b6102e8610cc0565b61024b61046e366004611ec8565b610cf2565b61029d610d1c565b6102875f81565b6102e8610490366004611d4f565b610d2b565b6102876104a3366004611cf5565b5f908152600a602052604090205490565b6102e86104c2366004611f70565b610da2565b6102876104d5366004611f90565b610e55565b6102877f8f831c56b3d9bf5e541f4e1b3b7f898cdb4b80ba7a4af71f8797c706fd21674e81565b6102e861050f366004611fea565b610f40565b61029d610522366004611cf5565b610f58565b6102877f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102e861055c366004611ec8565b610f63565b6102877f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61024b610596366004612061565b610f87565b61024b6105a9366004611eaf565b6001600160a01b03165f9081526009602052604090205460ff1690565b5f6105d082610fb4565b92915050565b60605f80546105e490612089565b80601f016020809104026020016040519081016040528092919081815260200182805461061090612089565b801561065b5780601f106106325761010080835404028352916020019161065b565b820191905f5260205f20905b81548152906001019060200180831161063e57829003601f168201915b5050505050905090565b5f61066f82610fd8565b505f828152600460205260409020546001600160a01b03166105d0565b335f9081526009602052604090205460ff16156106c45760405162461bcd60e51b81526004016106bb906120c1565b60405180910390fd5b6001600160a01b0382161561070b576001600160a01b0382165f9081526009602052604090205460ff161561070b5760405162461bcd60e51b81526004016106bb906120c1565b6107158282611010565b5050565b7f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee69856107438161101b565b6001600160a01b0383165f81815260096020908152604091829020805460ff191686151590811790915591519182527f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac91015b60405180910390a2505050565b7f6bd6b5318a46e5fff572d5e4258a20774aab40cc35ac7680654b9081fcc82f806107cd8161101b565b5f838152600260205260409020546001600160a01b03166108005760405162461bcd60e51b81526004016106bb906120e6565b61080a8383611025565b827f931f495b9a8e5d8e61946ea5d61e021f636cfe213a801f97589c18c152e408bd836040516107969190611ce3565b6001600160a01b03821661086357604051633250574960e11b81525f60048201526024016106bb565b5f61086f838333611074565b9050836001600160a01b0316816001600160a01b0316146108bd576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016106bb565b50505050565b5f818152600260205260409020546060906001600160a01b03166108f95760405162461bcd60e51b81526004016106bb906120e6565b5f828152600c60205260409020805461091190612089565b80601f016020809104026020016040519081016040528092919081815260200182805461093d90612089565b80156109885780601f1061095f57610100808354040283529160200191610988565b820191905f5260205f20905b81548152906001019060200180831161096b57829003601f168201915b50505050509050919050565b5f61099e8161101b565b6109c87f442a94f1a1fac79af32856af2a64f63648cfa2ef3b98610a5bb7cbec4cee69858361119a565b505050565b5f828152600860205260409020600101546109e78161101b565b6108bd838361119a565b6001600160a01b0381163314610a1a5760405163334bd91960e11b815260040160405180910390fd5b6109c8828261122b565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610a4e8161101b565b610a56611296565b50565b6109c883838360405180602001604052805f815250610f40565b6107155f8233611074565b5f6105d082610fd8565b5f6001600160a01b038216610ab2576040516322718ad960e21b81525f60048201526024016106bb565b506001600160a01b03165f9081526003602052604090205490565b5f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610af88161101b565b6001600160a01b038516610b425760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016106bb565b6001600160a01b0385165f9081526009602052604090205460ff1615610b7a5760405162461bcd60e51b81526004016106bb906120c1565b5f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505082519293505050610bf45760405162461bcd60e51b815260206004820152601060248201526f10dbdb9d195b9d081c995c5d5a5c995960821b60448201526064016106bb565b601481511115610c395760405162461bcd60e51b815260206004820152601060248201526f436f6e74656e7420746f6f206c6f6e6760801b60448201526064016106bb565b5f600d5f8154610c489061210d565b91829055509050610c5987826112e8565b5f818152600c60205260409020610c71868883612175565b50866001600160a01b0316817ff05e67c3de67821ff2e563e324d41dcef5ba2e5e67cf17d2940c299f246115958888604051610cae92919061222f565b60405180910390a39695505050505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610cea8161101b565b610a56611301565b5f9182526008602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600180546105e490612089565b335f9081526009602052604090205460ff1615610d5a5760405162461bcd60e51b81526004016106bb906120c1565b8015610d98576001600160a01b0382165f9081526009602052604090205460ff1615610d985760405162461bcd60e51b81526004016106bb906120c1565b610715828261133e565b7f8f831c56b3d9bf5e541f4e1b3b7f898cdb4b80ba7a4af71f8797c706fd21674e610dcc8161101b565b5f838152600260205260409020546001600160a01b0316610dff5760405162461bcd60e51b81526004016106bb906120e6565b5f838152600b602090815260409182902080549085905582518181529182018590529185917f055b6ecdc3a759107dd03f782e78b1bef12002fb27ffddb3a020554573abdc90910160405180910390a250505050565b5f7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610e808161101b565b6001600160a01b0386165f9081526009602052604090205460ff1615610eb85760405162461bcd60e51b81526004016106bb906120c1565b5f600d5f8154610ec79061210d565b91829055509050610ed887826112e8565b610ee28187611025565b5f818152600a60209081526040808320889055600b90915290819020859055516001600160a01b0388169082907f5d58de27b660562743bb3387ee08155a84e64dccc56b63d96ac6d6a563b7e3a990610cae908a908a908a9061225d565b610f4b84848461083a565b6108bd3385858585611349565b60606105d082611471565b5f82815260086020526040902060010154610f7d8161101b565b6108bd838361122b565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b03198216637965db0b60e01b14806105d057506105d08261157c565b5f818152600260205260408120546001600160a01b0316806105d057604051637e27328960e01b8152600481018490526024016106bb565b6107158282336115a0565b610a5681336115ad565b5f82815260066020526040902061103c8282612281565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b5f828152600260205260408120546001600160a01b031680156110c9576001600160a01b0381165f9081526009602052604090205460ff16156110c95760405162461bcd60e51b81526004016106bb906120c1565b6001600160a01b03851615611110576001600160a01b0385165f9081526009602052604090205460ff16156111105760405162461bcd60e51b81526004016106bb906120c1565b6001600160a01b0383165f9081526009602052604090205460ff16156111485760405162461bcd60e51b81526004016106bb906120c1565b5f6111548686866115e6565b90506001600160a01b038616611191575f858152600a60209081526040808320839055600b8252808320839055600c909152812061119191611c3b565b95945050505050565b5f6111a58383610cf2565b611224575f8381526008602090815260408083206001600160a01b03861684529091529020805460ff191660011790556111dc3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016105d0565b505f6105d0565b5f6112368383610cf2565b15611224575f8381526008602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016105d0565b61129e6115fa565b6007805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b610715828260405180602001604052805f81525061161f565b611309611636565b6007805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112cb3390565b61071533838361165a565b6001600160a01b0383163b1561146a57604051630a85bd0160e11b81526001600160a01b0384169063150b7a029061138b90889088908790879060040161233c565b6020604051808303815f875af19250505080156113c5575060408051601f3d908101601f191682019092526113c291810190612378565b60015b61142c573d8080156113f2576040519150601f19603f3d011682016040523d82523d5f602084013e6113f7565b606091505b5080515f0361142457604051633250574960e11b81526001600160a01b03851660048201526024016106bb565b805160208201fd5b6001600160e01b03198116630a85bd0160e11b1461146857604051633250574960e11b81526001600160a01b03851660048201526024016106bb565b505b5050505050565b606061147c82610fd8565b505f828152600660205260408120805461149590612089565b80601f01602080910402602001604051908101604052809291908181526020018280546114c190612089565b801561150c5780601f106114e35761010080835404028352916020019161150c565b820191905f5260205f20905b8154815290600101906020018083116114ef57829003601f168201915b505050505090505f61152860408051602081019091525f815290565b905080515f03611539575092915050565b81511561156b5780826040516020016115539291906123aa565b60405160208183030381529060405292505050919050565b611574846116f8565b949350505050565b5f6001600160e01b03198216632483248360e11b14806105d057506105d082611769565b6109c883838360016117b8565b6115b78282610cf2565b6107155760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016106bb565b5f6115ef611636565b6115748484846118bc565b60075460ff1661161d57604051638dfc202b60e01b815260040160405180910390fd5b565b61162983836119ae565b6109c8335f858585611349565b60075460ff161561161d5760405163d93c066560e01b815260040160405180910390fd5b6001600160a01b03821661168c57604051630b61174360e31b81526001600160a01b03831660048201526024016106bb565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606061170382610fd8565b505f61171960408051602081019091525f815290565b90505f8151116117375760405180602001604052805f815250611762565b8061174184611a0f565b6040516020016117529291906123aa565b6040516020818303038152906040525b9392505050565b5f6001600160e01b031982166380ac58cd60e01b148061179957506001600160e01b03198216635b5e139f60e01b145b806105d057506301ffc9a760e01b6001600160e01b03198316146105d0565b80806117cc57506001600160a01b03821615155b1561188d575f6117db84610fd8565b90506001600160a01b038316158015906118075750826001600160a01b0316816001600160a01b031614155b801561181a57506118188184610f87565b155b156118435760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016106bb565b811561188b5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f828152600260205260408120546001600160a01b03908116908316156118e8576118e8818486611a9f565b6001600160a01b03811615611922576119035f855f5f6117b8565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b03851615611950576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6001600160a01b0382166119d757604051633250574960e11b81525f60048201526024016106bb565b5f6119e383835f611074565b90506001600160a01b038116156109c8576040516339e3563760e11b81525f60048201526024016106bb565b60605f611a1b83611b03565b60010190505f8167ffffffffffffffff811115611a3a57611a3a611d88565b6040519080825280601f01601f191660200182016040528015611a64576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a6e57509392505050565b611aaa838383611bda565b6109c8576001600160a01b038316611ad857604051637e27328960e01b8152600481018290526024016106bb565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016106bb565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b415772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611b6d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b8b57662386f26fc10000830492506010015b6305f5e1008310611ba3576305f5e100830492506008015b6127108310611bb757612710830492506004015b60648310611bc9576064830492506002015b600a83106105d05760010192915050565b5f6001600160a01b038316158015906115745750826001600160a01b0316846001600160a01b03161480611c135750611c138484610f87565b806115745750505f908152600460205260409020546001600160a01b03908116911614919050565b508054611c4790612089565b5f825580601f10611c56575050565b601f0160209004905f5260205f2090810190610a5691905b80821115611c81575f8155600101611c6e565b5090565b6001600160e01b031981168114610a56575f5ffd5b5f60208284031215611caa575f5ffd5b813561176281611c85565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6117626020830184611cb5565b5f60208284031215611d05575f5ffd5b5035919050565b80356001600160a01b0381168114611d22575f5ffd5b919050565b5f5f60408385031215611d38575f5ffd5b611d4183611d0c565b946020939093013593505050565b5f5f60408385031215611d60575f5ffd5b611d6983611d0c565b915060208301358015158114611d7d575f5ffd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115611db657611db6611d88565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611de557611de5611d88565b604052838152905080828401851015611dfc575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112611e22575f5ffd5b61176283833560208501611d9c565b5f5f60408385031215611e42575f5ffd5b82359150602083013567ffffffffffffffff811115611e5f575f5ffd5b611e6b85828601611e13565b9150509250929050565b5f5f5f60608486031215611e87575f5ffd5b611e9084611d0c565b9250611e9e60208501611d0c565b929592945050506040919091013590565b5f60208284031215611ebf575f5ffd5b61176282611d0c565b5f5f60408385031215611ed9575f5ffd5b82359150611ee960208401611d0c565b90509250929050565b5f5f5f60408486031215611f04575f5ffd5b611f0d84611d0c565b9250602084013567ffffffffffffffff811115611f28575f5ffd5b8401601f81018613611f38575f5ffd5b803567ffffffffffffffff811115611f4e575f5ffd5b866020828401011115611f5f575f5ffd5b939660209190910195509293505050565b5f5f60408385031215611f81575f5ffd5b50508035926020909101359150565b5f5f5f5f60808587031215611fa3575f5ffd5b611fac85611d0c565b9350602085013567ffffffffffffffff811115611fc7575f5ffd5b611fd387828801611e13565b949794965050505060408301359260600135919050565b5f5f5f5f60808587031215611ffd575f5ffd5b61200685611d0c565b935061201460208601611d0c565b925060408501359150606085013567ffffffffffffffff811115612036575f5ffd5b8501601f81018713612046575f5ffd5b61205587823560208401611d9c565b91505092959194509250565b5f5f60408385031215612072575f5ffd5b61207b83611d0c565b9150611ee960208401611d0c565b600181811c9082168061209d57607f821691505b6020821081036120bb57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600b908201526a109b1858dadb1a5cdd195960aa1b604082015260600190565b6020808252600d908201526c24b73b30b634b2103a37b5b2b760991b604082015260600190565b5f6001820161212a57634e487b7160e01b5f52601160045260245ffd5b5060010190565b601f8211156109c857805f5260205f20601f840160051c810160208510156121565750805b601f840160051c820191505b8181101561146a575f8155600101612162565b67ffffffffffffffff83111561218d5761218d611d88565b6121a18361219b8354612089565b83612131565b5f601f8411600181146121d2575f85156121bb5750838201355b5f19600387901b1c1916600186901b17835561146a565b5f83815260208120601f198716915b8281101561220157868501358255602094850194600190920191016121e1565b508682101561221d575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b606081525f61226f6060830186611cb5565b60208301949094525060400152919050565b815167ffffffffffffffff81111561229b5761229b611d88565b6122af816122a98454612089565b84612131565b6020601f8211600181146122e1575f83156122ca5750848201515b5f19600385901b1c1916600184901b17845561146a565b5f84815260208120601f198516915b8281101561231057878501518255602094850194600190920191016122f0565b508482101561232d57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061236e90830184611cb5565b9695505050505050565b5f60208284031215612388575f5ffd5b815161176281611c85565b5f81518060208401855e5f93019283525090919050565b5f6115746123b88386612393565b8461239356fea2646970667358221220bdf147980c2d74a92adb32c5a6d4e23d5ca821620101dc19f301301acc24d96864736f6c634300081c0033",
- "linkReferences": {},
- "deployedLinkReferences": {},
- "immutableReferences": {},
- "inputSourceName": "project/contracts/EasyTokenDocument.sol",
- "buildInfoId": "solc-0_8_28-3c1fd04852d45635fdc94cd1db24408c9378c555"
- }
|