Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000.00 EURI

Holders:
1
Profile Summary
Blockchain:
C-Chain (43114)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
EURI

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Created At:
Sat, 17 Dec 2022 03:15:30 GMT
EURI.sol
EURI.sol
AggregatorV3Interface.sol
Context.sol
ERC20.sol
ERC20ElasticSupply.sol
ERC20Indexed.sol
EURI.sol
IERC20.sol
IERC20Metadata.sol
IPredictIndex.sol
Ownable.sol
TimeLocks.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "indexBeacon",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "priceFeed_",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "minter_address",
        "type": "address"
      }
    ],
    "name": "MinterAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "minter_address",
        "type": "address"
      }
    ],
    "name": "MinterRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "TokenBurned",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "TokenMinted",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newMinter",
        "type": "address"
      }
    ],
    "name": "addMinter",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      }
    ],
    "name": "allowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "alpha",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "applyMaxVariationChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "baseMintRatio",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "baseMonth",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "baseYear",
    "outputs": [
      {
        "internalType": "uint16",
        "name": "",
        "type": "uint16"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "burn",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "changeRequests",
    "outputs": [
      {
        "internalType": "bool",
        "name": "changeRequested",
        "type": "bool"
      },
      {
        "internalType": "uint64",
        "name": "timestampRequest",
        "type": "uint64"
      },
      {
        "internalType": "address",
        "name": "newAddressRequested",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "defaultPegVar",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getOrUpdatePegValue",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getPegValue",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "addedValue",
        "type": "uint256"
      }
    ],
    "name": "increaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "scMinter",
        "type": "address"
      }
    ],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "isInitialized",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastPegTarget",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastPegVarRate",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastTargetTimestamp",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxAmountMintable",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxPegVariation",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxVarChangeRequested",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "mint",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "minters",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "newMaxVarRequested",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pegTarget",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "priceFeed",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "priceFeedDecimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "minter",
        "type": "address"
      }
    ],
    "name": "removeMinter",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newContract",
        "type": "address"
      }
    ],
    "name": "requestAddAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "actualContract",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "newContract",
        "type": "address"
      }
    ],
    "name": "requestAddressChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint16",
        "name": "newValue",
        "type": "uint16"
      }
    ],
    "name": "requestMaxVariationChange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "oldContract",
        "type": "address"
      }
    ],
    "name": "requestRemoveAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "beacon",
        "type": "address"
      }
    ],
    "name": "setIndexBeacon",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "targetTimestamp",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "thresholdLimitMint",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "timestampMVChangeRequest",
    "outputs": [
      {
        "internalType": "uint64",
        "name": "",
        "type": "uint64"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "priceFeed_",
        "type": "address"
      }
    ],
    "name": "updatePriceFeed",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "updateTarget",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "usdPrice",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]


Contract Creation Code
60806040523480156200001157600080fd5b5060405162003a8138038062003a81833981016040819052620000349162000730565b604051806040016040528060118152602001704849435020496e6465786564204575726f60781b815250604051806040016040528060048152602001634555524960e01b81525083603269d3c21bcecceda10000008484838383838160039080519060200190620000a79291906200066d565b508051620000bd9060049060208401906200066d565b505050620000da620000d46200036960201b60201c565b6200036d565b6007805463ffffffff191663ffffffff93909316929092179091556008555050600c80546001600160a01b0319166001600160a01b0385169081179091556040805163f24139a160e01b8152905163f24139a1916004808201926020929091908290030181865afa15801562000154573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017a919062000768565b600c60146101000a81548161ffff021916908361ffff160217905550600c60009054906101000a90046001600160a01b03166001600160a01b0316639a30a30e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000210919062000795565b600c805460ff92909216600160b01b0260ff60b01b199092169190911781556200023c816001620007d0565b6200024b90621e848062000811565b600c8054607d60dc1b63ffffffff60d81b1963ffffffff94909416600160b81b0293909316600160b81b600160f81b031990911617919091179055600d805463ffffffff1916614e20179055620002a1620003bf565b5050600f80546001600160a01b0319166001600160a01b0387169081179091556040805163313ce56760e01b8152905191955063313ce56794506004808201945060209350908290030181865afa15801562000301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000327919062000795565b600f805461ffff60a01b1916600160a01b60ff938416810260ff60a81b191691909117918290556012910490911611156200036157600080fd5b505062000960565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600c5460408051637e5d9d0d60e01b815290516000926001600160a01b031691637e5d9d0d9160048083019260209291908290030181865afa1580156200040a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000430919062000837565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b031663ea6ede856040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000488573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ae919062000837565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b03166317e896a56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000506573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052c919062000862565b905042826001600160401b0316116200054457600080fd5b600e80546001600160401b0319166001600160401b038516179055620f42406200056f82826200088a565b620005819063ffffffff1685620008b2565b6200058d9190620008e4565b600d8054600160a81b600160e81b031916600160a81b6001600160401b0393841602179055600e8054600160801b600160c01b031916600160801b92851692909202919091179055620005e462278d008362000901565b600e8054600160401b600160801b031916680100000000000000006001600160401b0393841681029190911791829055600d805463ffffffff60201b191664010000000063ffffffff8716021790559004164210156200066857600e8054600160401b600160801b03191668010000000000000000426001600160401b0316021790555b505050565b8280546200067b9062000924565b90600052602060002090601f0160209004810192826200069f5760008555620006ea565b82601f10620006ba57805160ff1916838001178555620006ea565b82800160010185558215620006ea579182015b82811115620006ea578251825591602001919060010190620006cd565b50620006f8929150620006fc565b5090565b5b80821115620006f85760008155600101620006fd565b80516001600160a01b03811681146200072b57600080fd5b919050565b600080604083850312156200074457600080fd5b6200074f8362000713565b91506200075f6020840162000713565b90509250929050565b6000602082840312156200077b57600080fd5b815161ffff811681146200078e57600080fd5b9392505050565b600060208284031215620007a857600080fd5b815160ff811681146200078e57600080fd5b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818516808303821115620007f257620007f2620007ba565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff808416806200082b576200082b620007fb565b92169190910492915050565b6000602082840312156200084a57600080fd5b81516001600160401b03811681146200078e57600080fd5b6000602082840312156200087557600080fd5b815163ffffffff811681146200078e57600080fd5b600063ffffffff83811690831681811015620008aa57620008aa620007ba565b039392505050565b60006001600160401b0382811684821681151582840482111615620008db57620008db620007ba565b02949350505050565b60006001600160401b03838116806200082b576200082b620007fb565b60006001600160401b0383811690831681811015620008aa57620008aa620007ba565b600181811c908216806200093957607f821691505b6020821081036200095a57634e487b7160e01b600052602260045260246000fd5b50919050565b61311180620009706000396000f3fe608060405234801561001057600080fd5b50600436106102f15760003560e01c8063983b2d561161019d578063c5da57ea116100e9578063e132dbfe116100a2578063f24139a11161007c578063f24139a114610747578063f2fde38b1461076f578063f46eccc414610782578063f65b179e146107a557600080fd5b8063e132dbfe146106fb578063e3de9c1914610713578063f00ffd091461072d57600080fd5b8063c5da57ea14610669578063d02cb9fe14610679578063da78706e14610681578063db1d0fd514610698578063dc32569f146106af578063dd62ed3e146106c257600080fd5b8063a9059cbb11610156578063b740aec811610130578063b740aec814610618578063bf14e66e1461062b578063c2c11f361461063f578063c4d66de81461065657600080fd5b8063a9059cbb1461058a578063b60c3b9e1461059d578063b6a7e666146105a657600080fd5b8063983b2d56146105165780639a30a30e146105295780639d15337a1461053d5780639dc29fac14610550578063a25aa00b14610563578063a457c2d71461057757600080fd5b806362e675e11161025c57806376f6c33f116102155780638da5cb5b116101ef5780638da5cb5b146104e25780639394c378146104f357806395877f78146104fb57806395d89b411461050e57600080fd5b806376f6c33f146104ad578063876daf7e146104b55780638c2f8e04146104c857600080fd5b806362e675e1146104115780636619aa861461042457806370a082311461042c578063715018a614610455578063741bef1a1461045d5780637439f3e01461048857600080fd5b806323b872dd116102ae57806323b872dd1461039c5780633092afd5146103af578063313ce567146103c2578063392e53cd146103d757806339509351146103eb57806340c10f19146103fe57600080fd5b806306fdde03146102f6578063080e73aa14610314578063095ea7b3146103295780630bb6606c1461034c57806315ffe6d11461037e57806318160ddd14610394575b600080fd5b6102fe6107ad565b60405161030b9190612a49565b60405180910390f35b610327610322366004612aae565b61083f565b005b61033c610337366004612aee565b610903565b604051901515815260200161030b565b600d5461036690600160a81b90046001600160401b031681565b6040516001600160401b03909116815260200161030b565b61038661091d565b60405190815260200161030b565b600254610386565b61033c6103aa366004612b18565b61094c565b6103276103bd366004612b54565b610970565b60125b60405160ff909116815260200161030b565b600f5461033c90600160a81b900460ff1681565b61033c6103f9366004612aee565b610a53565b61032761040c366004612aee565b610a92565b61032761041f366004612b54565b610b27565b610386610e45565b61038661043a366004612b54565b6001600160a01b031660009081526020819052604090205490565b610327610ef9565b600f54610470906001600160a01b031681565b6040516001600160a01b03909116815260200161030b565b6007546104989063ffffffff1681565b60405163ffffffff909116815260200161030b565b610327610f2f565b600e54610366906001600160401b031681565b600e5461036690600160401b90046001600160401b031681565b6005546001600160a01b0316610470565b610327610fbb565b610327610509366004612b54565b611052565b6102fe611226565b610327610524366004612b54565b611235565b600c546103c590600160b01b900460ff1681565b61032761054b366004612b54565b611395565b61032761055e366004612aee565b611470565b600f546103c590600160a01b900460ff1681565b61033c610585366004612aee565b61150f565b61033c610598366004612aee565b6115a1565b61038660085481565b6105ea6105b4366004612b54565b60066020526000908152604090205460ff81169061010081046001600160401b031690600160481b90046001600160a01b031683565b6040805193151584526001600160401b0390921660208401526001600160a01b03169082015260600161030b565b610327610626366004612b6f565b6115af565b600d5461033c90600160401b900460ff1681565b600c5461049890600160d81b900463ffffffff1681565b610327610664366004612b54565b611681565b600d546104989063ffffffff1681565b610386611735565b600d5461049890600160881b900463ffffffff1681565b600c5461049890600160b81b900463ffffffff1681565b6103276106bd366004612b54565b6117c7565b6103866106d0366004612b6f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600d5461049890640100000000900463ffffffff1681565b600e5461036690600160801b90046001600160401b031681565b600d5461036690600160481b90046001600160401b031681565b600c5461075c90600160a01b900461ffff1681565b60405161ffff909116815260200161030b565b61032761077d366004612b54565b611898565b61033c610790366004612b54565b600b6020526000908152604090205460ff1681565b610386611930565b6060600380546107bc90612ba2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e890612ba2565b80156108355780601f1061080a57610100808354040283529160200191610835565b820191906000526020600020905b81548152906001019060200180831161081857829003601f168201915b5050505050905090565b6005546001600160a01b031633146108725760405162461bcd60e51b815260040161086990612bdc565b60405180910390fd5b60008161ffff161161088357600080fd5b600d546108979063ffffffff166002612c27565b63ffffffff168161ffff16106108ac57600080fd5b600d8054600160401b70ffffffffffffffffff000000000000000019909116600160481b426001600160401b03160260ff60401b1916171763ffffffff60881b191661ffff92909216600160881b02919091179055565b60003361091181858561195d565b60019150505b92915050565b6000620f424061092b610e45565b610933611a82565b61093d9190612c53565b6109479190612c88565b905090565b60003361095a858285611b4a565b610965858585611bdc565b506001949350505050565b6005546001600160a01b0316331461099a5760405162461bcd60e51b815260040161086990612bdc565b6001600160a01b03811660009081526006602052604090205460ff166109bf57600080fd5b6001600160a01b0381166000908152600b602052604090205460ff1615156001146109e957600080fd5b6001600160a01b0381166000818152600b60209081526040808320805460ff199081169091556006835292819020805490931690925590519182527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669291015b60405180910390a150565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906109119082908690610a8d908790612c9c565b61195d565b336000908152600b602052604090205460ff161515600114610ab357600080fd5b610abc81611daa565b6009805467ffffffffffffffff1916426001600160401b0316179055610ae28282611e22565b6040518181526001600160a01b0383169033907fdf1b2b09e9800d31c599375056be9f9e4eb37f078102643600c4e149714efaad906020015b60405180910390a35050565b6005546001600160a01b03163314610b515760405162461bcd60e51b815260040161086990612bdc565b6000819050806001600160a01b031663392e53cd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190612cb4565b610bc157600080fd5b600c60149054906101000a900461ffff1661ffff16816001600160a01b031663f24139a16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190612cd6565b61ffff1614610c4657600080fd5b600c60169054906101000a900460ff1660ff16816001600160a01b0316639a30a30e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb9190612cf3565b60ff1614610cc857600080fd5b600c60009054906101000a90046001600160a01b03166001600160a01b03166361bb9c526040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3f9190612d16565b63ffffffff16816001600160a01b03166361bb9c526040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da79190612d16565b63ffffffff1614610db757600080fd5b806001600160a01b0316630cde68796040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e199190612cb4565b610e2257600080fd5b600c80546001600160a01b0319166001600160a01b039290921691909117905550565b600080600f60009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610e9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebf9190612d56565b5050600f54919350610ede925050600160a01b900460ff166012612da6565b610ee990600a612ead565b610ef39082612c53565b91505090565b6005546001600160a01b03163314610f235760405162461bcd60e51b815260040161086990612bdc565b610f2d6000611f01565b565b600c60009054906101000a90046001600160a01b03166001600160a01b0316630cde68796040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa69190612cb4565b15610fb357610f2d611f53565b610f2d6121de565b6005546001600160a01b03163314610fe55760405162461bcd60e51b815260040161086990612bdc565b600d54600160401b900460ff16610ffb57600080fd5b600d5462278d009061101d90600160481b90046001600160401b031642612ebc565b1161102757600080fd5b600d8054600160881b60ff60401b1982160463ffffffff1668ff00000000ffffffff19909116179055565b6005546001600160a01b0316331461107c5760405162461bcd60e51b815260040161086990612bdc565b600f546001600160a01b031660009081526006602052604090205460ff166110a357600080fd5b600f546001600160a01b031660009081526006602052604090205462093a80906110db9061010090046001600160401b031642612ebc565b116110e557600080fd5b600f546001600160a01b03908116600090815260066020526040902054600160481b900481169082161461111857600080fd5b600f80546001600160a01b03908116600090815260066020908152604091829020805460ff1916905583546001600160a01b031916928516928317909355805163313ce56760e01b81529051919263313ce567926004808401938290030181865afa15801561118b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111af9190612cf3565b600f805460ff60a01b1916600160a01b60ff938416810291909117918290556012910490911611156112235760405162461bcd60e51b815260206004820152601c60248201527f4f7261636c652068617320746f6f206d616e7920646563696d616c73000000006044820152606401610869565b50565b6060600480546107bc90612ba2565b6005546001600160a01b0316331461125f5760405162461bcd60e51b815260040161086990612bdc565b6000805260066020526000805160206130bc8339815191525460ff1661128457600080fd5b6000805260066020526000805160206130bc8339815191525462093a80906112ba9061010090046001600160401b031642612ebc565b116112c457600080fd5b6000805260066020526000805160206130bc833981519152546001600160a01b03828116600160481b90920416146112fb57600080fd5b6001600160a01b0381166000908152600b602052604090205460ff161561132157600080fd5b6001600160a01b0381166000818152600b602090815260408083208054600160ff1991821617909155928052600682526000805160206130bc833981519152805490931690925590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69101610a48565b6005546001600160a01b031633146113bf5760405162461bcd60e51b815260040161086990612bdc565b6001600160a01b0381166113d257600080fd5b6040805160608101825260018152426001600160401b0390811660208084019182526001600160a01b03958616948401948552600080526006905291516000805160206130bc83398151915280549351945168ffffffffffffffffff1990941691151568ffffffffffffffff00191691909117610100949092169390930217600160481b600160e81b031916600160481b9190931602919091179055565b336000908152600b602052604090205460ff16151560011461149157600080fd5b6114ab61149d82612491565b6114a690612ed3565b6124ab565b506009805467ffffffffffffffff1916426001600160401b03161790556114d282826124f9565b6040518181526001600160a01b0383169033907fbfa41556980d157c24e8632dbb78958f8759a86b4acdea421f93dc7259fb55db90602001610b1b565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156115945760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610869565b610965828686840361195d565b600033610911818585611bdc565b6005546001600160a01b031633146115d95760405162461bcd60e51b815260040161086990612bdc565b6001600160a01b0381166115ec57600080fd5b6040805160608101825260018152426001600160401b0390811660208084019182526001600160a01b039586168486019081529686166000908152600690915293909320915182549351955168ffffffffffffffffff1990941690151568ffffffffffffffff00191617610100959091169490940293909317600160481b600160e81b031916600160481b9190921602179055565b6005546001600160a01b031633146116ab5760405162461bcd60e51b815260040161086990612bdc565b600f54600160a81b900460ff16156116c257600080fd5b6001600160a01b0381166116d557600080fd5b6005546001600160a01b03166001600160a01b0316816001600160a01b0316036116fe57600080fd5b6001600160a01b03166000908152600b60205260409020805460ff19166001179055600f805460ff60a81b1916600160a81b179055565b6000806103e861175e61174760025490565b61174f61263f565b6117599190612c53565b612491565b6117689190612eef565b905060008061177561288f565b91509150600082600a548361178a9190612f1d565b61179786620f4240612f1d565b6117a19190612fa2565b6117ab9190612eef565b9050600081136117bc5760006117be565b805b94505050505090565b6005546001600160a01b031633146117f15760405162461bcd60e51b815260040161086990612bdc565b6001600160a01b03811661180457600080fd5b6040805160608101825260018152426001600160401b03908116602080840191825260008486018181526001600160a01b039788168252600690925294909420925183549151945168ffffffffffffffffff1990921690151568ffffffffffffffff00191617610100949092169390930217600160481b600160e81b031916600160481b9290931691909102919091179055565b6005546001600160a01b031633146118c25760405162461bcd60e51b815260040161086990612bdc565b6001600160a01b0381166119275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610869565b61122381611f01565b600e54600090600160801b90046001600160401b031642111561195557611955610f2f565b61094761091d565b6001600160a01b0383166119bf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610869565b6001600160a01b038216611a205760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610869565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546000908190611aad906001600160401b03600160401b8204811691600160801b900416612fe1565b600e546001600160401b0391821691611ace91600160401b90041642612ebc565b611adb90620f4240612c53565b611ae59190612c88565b600d54600e54919250620f424091611b10916001600160401b03600160a81b90910481169116612fe1565b611b23906001600160401b031683612c53565b611b2d9190612c88565b600d54610ef39190600160a81b90046001600160401b0316612c9c565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114611bd65781811015611bc95760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610869565b611bd6848484840361195d565b50505050565b6001600160a01b038316611c405760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610869565b6001600160a01b038216611ca25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610869565b6001600160a01b03831660009081526020819052604090205481811015611d1a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610869565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611d51908490612c9c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9d91815260200190565b60405180910390a3611bd6565b60085460025411156112235760006103e8611dc761174760025490565b611dd19190612eef565b905080611de06114a684612491565b1315611e1e5760405162461bcd60e51b815260206004820152600d60248201526c4d6178206d696e74207261746560981b6044820152606401610869565b5050565b6001600160a01b038216611e785760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610869565b8060026000828254611e8a9190612c9c565b90915550506001600160a01b03821660009081526020819052604081208054839290611eb7908490612c9c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600e54600160801b90046001600160401b03164211611f7157600080fd5b600c5460408051637e5d9d0d60e01b815290516000926001600160a01b031691637e5d9d0d9160048083019260209291908290030181865afa158015611fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdf9190613009565b6001600160401b031690506000600c60009054906101000a90046001600160a01b03166001600160a01b031663ea6ede856040518163ffffffff1660e01b8152600401602060405180830381865afa15801561203f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120639190613009565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b03166317e896a56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120de9190612d16565b63ffffffff16905042826001600160401b0316116120fb57600080fd5b600e5461212090849083906001600160401b03600160801b909104811690861661292c565b600e54600d805467ffffffffffffffff60a81b19166001600160401b03909216600160a81b02919091179055909350905061215a83612a20565b600e80546001600160801b031981166001600160401b03938416908117600160801b67ffffffffffffffff199093169091178290048416600160401b021767ffffffffffffffff60801b1916928516029190911790556121b981612a36565b600d60046101000a81548163ffffffff021916908363ffffffff160217905550505050565b600c60009054906101000a90046001600160a01b03166001600160a01b0316630cde68796040518163ffffffff1660e01b8152600401602060405180830381865afa158015612231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122559190612cb4565b1561225f57600080fd5b600e54600160801b90046001600160401b0316421161227d57600080fd5b600e546000906122a090600160801b90046001600160401b031662278d00613032565b905042816001600160401b031610156122c3576122c04262278d00613032565b90505b600d54600c54600091620f42409163ffffffff6401000000009092048216916122f491600160b81b9004168361305d565b63ffffffff166123049190612c53565b600c546123279063ffffffff600160d81b8204811691600160b81b900416612c27565b63ffffffff166123379190612c9c565b6123419190612c88565b90506000620f42406123538382612c9c565b600e5461236991906001600160401b0316612c53565b6123739190612c88565b9050600061237f611a82565b9050818111156123ae57620f42406123978482612c9c565b6123a19083612c53565b6123ab9190612c88565b91505b600e546123d390839085906001600160401b03600160801b909104811690881661292c565b600e54600d805467ffffffffffffffff60a81b19166001600160401b03909216600160a81b029190911790559350915061240c82612a20565b600e80546001600160801b031981166001600160401b03938416908117600160801b67ffffffffffffffff199093169091178290048416600160401b021767ffffffffffffffff60801b19169287160291909117905561246b83612a36565b600d60046101000a81548163ffffffff021916908363ffffffff16021790555050505050565b60006001600160ff1b038211156124a757600080fd5b5090565b60008060006124b861288f565b91509150620f4240600a54826124ce9190612f1d565b6124d88685612f1d565b6124e2919061307a565b6124ec9190612eef565b600a819055949350505050565b6001600160a01b0382166125595760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610869565b6001600160a01b038216600090815260208190526040902054818110156125cd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610869565b6001600160a01b03831660009081526020819052604081208383039055600280548492906125fc908490612ebc565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611a75565b60008061264b60025490565b905069152d02c7e14af68000008110156126b157620f424069152d02c7e14af680000061267c836335a4e900612c53565b6126869190612c88565b61269490633b9aca00612ebc565b6007546126a7919063ffffffff16612c53565b610ef39190612c88565b69d3c21bcecceda100000081101561270c57620f424069be951906eba2aa8000006126e669152d02c7e14af680000084612ebc565b6126f4906304c4b400612c53565b6126fe9190612c88565b612694906305f5e100612ebc565b6a084595161401484a00000081101561276857620f42406a0771d2fa45345aa900000061274369d3c21bcecceda100000084612ebc565b6127509062989680612c53565b61275a9190612c88565b612694906301312d00612ebc565b6a52b7d2dcc80cd2e40000008110156127c457620f42406a4a723dc6b40b8a9a0000006127a06a084595161401484a00000084612ebc565b6127ad90625b8d80612c53565b6127b79190612c88565b6126949062989680612ebc565b6b033b2e3c9fd0803ce800000081101561282257620f42406b02e87669c308736a040000006127fe6a52b7d2dcc80cd2e400000084612ebc565b61280b90621e8480612c53565b6128159190612c88565b61269490623d0900612ebc565b6b204fce5e3e2502611000000081101561288157620f42406b1d14a0219e5482242800000061285d6b033b2e3c9fd0803ce800000084612ebc565b61286a90620f4240612c53565b6128749190612c88565b61269490621e8480612ebc565b505060075463ffffffff1690565b600954600090819081906128b090611759906001600160401b031642612ebc565b9050600081131561291f5760006128cc8264141dd76000612eef565b905060006128dd82620f424061307a565b6128ed906501d1a94a2000612eef565b9050620f42406128fd8383612f1d565b6129079190612eef565b945061291681620f4240612fa2565b93505050509091565b50620f4240928392509050565b6000808061293a8585612ebc565b6129448642612ebc565b61295190620f4240612c53565b61295b9190612c88565b600d5490915060009061297590839063ffffffff16612c53565b90506000612981611a82565b905080156129f7578089101561299d57809850600097506129f7565b81816129a9818c612ebc565b6129b690620f4240612c53565b6129c09190612c88565b11156129f757620f42406129d48382612c9c565b6129de9083612c53565b6129e89190612c88565b600d5490995063ffffffff1697505b600d5463ffffffff16881115612a1357600d5463ffffffff1697505b5096979596505050505050565b60006001600160401b038211156124a757600080fd5b600063ffffffff8211156124a757600080fd5b600060208083528351808285015260005b81811015612a7657858101830151858201604001528201612a5a565b81811115612a88576000604083870101525b50601f01601f1916929092016040019392505050565b61ffff8116811461122357600080fd5b600060208284031215612ac057600080fd5b8135612acb81612a9e565b9392505050565b80356001600160a01b0381168114612ae957600080fd5b919050565b60008060408385031215612b0157600080fd5b612b0a83612ad2565b946020939093013593505050565b600080600060608486031215612b2d57600080fd5b612b3684612ad2565b9250612b4460208501612ad2565b9150604084013590509250925092565b600060208284031215612b6657600080fd5b612acb82612ad2565b60008060408385031215612b8257600080fd5b612b8b83612ad2565b9150612b9960208401612ad2565b90509250929050565b600181811c90821680612bb657607f821691505b602082108103612bd657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681851681830481118215151615612c4a57612c4a612c11565b02949350505050565b6000816000190483118215151615612c6d57612c6d612c11565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612c9757612c97612c72565b500490565b60008219821115612caf57612caf612c11565b500190565b600060208284031215612cc657600080fd5b81518015158114612acb57600080fd5b600060208284031215612ce857600080fd5b8151612acb81612a9e565b600060208284031215612d0557600080fd5b815160ff81168114612acb57600080fd5b600060208284031215612d2857600080fd5b815163ffffffff81168114612acb57600080fd5b805169ffffffffffffffffffff81168114612ae957600080fd5b600080600080600060a08688031215612d6e57600080fd5b612d7786612d3c565b9450602086015193506040860151925060608601519150612d9a60808701612d3c565b90509295509295909350565b600060ff821660ff841680821015612dc057612dc0612c11565b90039392505050565b600181815b80851115612e04578160001904821115612dea57612dea612c11565b80851615612df757918102915b93841c9390800290612dce565b509250929050565b600082612e1b57506001610917565b81612e2857506000610917565b8160018114612e3e5760028114612e4857612e64565b6001915050610917565b60ff841115612e5957612e59612c11565b50506001821b610917565b5060208310610133831016604e8410600b8410161715612e87575081810a610917565b612e918383612dc9565b8060001904821115612ea557612ea5612c11565b029392505050565b6000612acb60ff841683612e0c565b600082821015612ece57612ece612c11565b500390565b6000600160ff1b8201612ee857612ee8612c11565b5060000390565b600082612efe57612efe612c72565b600160ff1b821460001984141615612f1857612f18612c11565b500590565b60006001600160ff1b0381841382841380821686840486111615612f4357612f43612c11565b600160ff1b6000871282811687830589121615612f6257612f62612c11565b60008712925087820587128484161615612f7e57612f7e612c11565b87850587128184161615612f9457612f94612c11565b505050929093029392505050565b60008083128015600160ff1b850184121615612fc057612fc0612c11565b6001600160ff1b0384018313811615612fdb57612fdb612c11565b50500390565b60006001600160401b038381169083168181101561300157613001612c11565b039392505050565b60006020828403121561301b57600080fd5b81516001600160401b0381168114612acb57600080fd5b60006001600160401b0380831681851680830382111561305457613054612c11565b01949350505050565b600063ffffffff8381169083168181101561300157613001612c11565b600080821280156001600160ff1b038490038513161561309c5761309c612c11565b600160ff1b83900384128116156130b5576130b5612c11565b5050019056fe54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8a2646970667358221220a233c5714d1230e482176e16bc4122176db07c374b9f1dda1e152c5120c5f84c64736f6c634300080d0033000000000000000000000000842b95dc806745a2b1e0c99a39e0bcf60ec7ecc2000000000000000000000000192f2dba961bb0277520c082d6bfa87d5961333e