Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
100,000,000,000.00 NIKA

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


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

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Created At:
Thu, 15 Feb 2024 15:38:17 GMT
DxFeeToken.sol
DxFeeToken.sol
DxFeeToken.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "tokenOwner",
        "type": "address"
      },
      {
        "internalType": "string",
        "name": "name_",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "symbol_",
        "type": "string"
      },
      {
        "internalType": "uint8",
        "name": "decimal_",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "amountOfTokenWei",
        "type": "uint256"
      },
      {
        "internalType": "uint8[5]",
        "name": "setFees",
        "type": "uint8[5]"
      },
      {
        "internalType": "uint256[6]",
        "name": "maxFees",
        "type": "uint256[6]"
      },
      {
        "internalType": "address",
        "name": "devWalletAddress_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_router",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_basePair",
        "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": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokensSwapped",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "ethReceived",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokensIntoLiqudity",
        "type": "uint256"
      }
    ],
    "name": "SwapAndLiquify",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "SwapAndLiquifyAmountUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "bool",
        "name": "enabled",
        "type": "bool"
      }
    ],
    "name": "SwapAndLiquifyEnabledUpdated",
    "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": [],
    "name": "_devFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_devWalletAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_liquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_maxTxAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_sellLiqFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_sellTaxFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_taxFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "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": [
      {
        "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": "basePair",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "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": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "excludeFromFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "excludeFromReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "includeInFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "includeInReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "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": "account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromFee",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromReward",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxDevFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxLiqFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxSellLiqFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxSellTaxFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxTaxFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minMxTxPercentage",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "mintedByDxsale",
    "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": "numTokensSellToAddToLiquidity",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tAmount",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "deductTransferFee",
        "type": "bool"
      }
    ],
    "name": "reflectionFromToken",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeAllFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_addr",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_newAddr",
        "type": "address"
      }
    ],
    "name": "replaceDevWalletAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "restoreAllFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "router",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "devFee",
        "type": "uint256"
      }
    ],
    "name": "setDevFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "liquidityFee",
        "type": "uint256"
      }
    ],
    "name": "setLiquidityFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "maxTxPercent",
        "type": "uint256"
      }
    ],
    "name": "setMaxTxPercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "sellLiqFee",
        "type": "uint256"
      }
    ],
    "name": "setSellLiqFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "sellTaxFee",
        "type": "uint256"
      }
    ],
    "name": "setSellTaxFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_enabled",
        "type": "bool"
      }
    ],
    "name": "setSwapAndLiquifyEnabled",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "setSwapBackSettings",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "taxFee",
        "type": "uint256"
      }
    ],
    "name": "setTaxFeePercent",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapAndLiquifyEnabled",
    "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": "rAmount",
        "type": "uint256"
      }
    ],
    "name": "tokenFromReflection",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalFees",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "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": [],
    "name": "uniswapV2Pair",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapV2Router",
    "outputs": [
      {
        "internalType": "contract IUniswapV2Router02",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6080604052600180546001600160a01b03191661dead178155600a600281905560038190556004556032600555601460068190556007556015805460ff191690911790553480156200005057600080fd5b5060405162003921380380620039218339810160408190526200007391620006c1565b6200007e33620003cf565b8851620000939060169060208c019062000442565b508751620000a99060179060208b019062000442565b506018805460ff191660ff89161790556012869055620000cc8660001962000881565b620000da906000196200082a565b6013819055601080546001600160a01b038581166001600160a01b031992831617909255601180548584169083161790558c821660009081526008602090815260409182902094909455875160035587840151600255878101516004556060808901516005556080808a015160065560a08a01516007558a5160ff9081166019819055601a558b8701518116601b819055601c55928b01518316601d819055601e55908a01518216601f8190558555890151166021819055602255600f80549091169186169190911790556025879055620001e0906103e890620001cc9089906001906200041f811b6200158a17901c565b6200043460201b620015961790919060201c565b6026556024805460ff60a81b1916600160a81b1790556010546040805163c45a015560e01b815290516001600160a01b0390921691829163c45a0155916004808301926020929190829003018186803b1580156200023d57600080fd5b505afa15801562000252573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002789190620006a3565b6011546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c6539690604401602060405180830381600087803b158015620002c557600080fd5b505af1158015620002da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003009190620006a3565b602480546001600160a01b03199081166001600160a01b0393841617909155602380549091168383161790558b81166000818152600b60209081526040808320805460ff1990811660019081179092553085528285208054821683179055600f8054881686528386208054831684179055549096168452600d83528184208054909616179094556012549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050505050505050620008da565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006200042d828462000808565b9392505050565b60006200042d8284620007f1565b828054620004509062000844565b90600052602060002090601f016020900481019282620004745760008555620004bf565b82601f106200048f57805160ff1916838001178555620004bf565b82800160010185558215620004bf579182015b82811115620004bf578251825591602001919060010190620004a2565b50620004cd929150620004d1565b5090565b5b80821115620004cd5760008155600101620004d2565b80516001600160a01b03811681146200050057600080fd5b919050565b600082601f8301126200051757600080fd5b60405160c081016001600160401b03811182821017156200053c576200053c620008c4565b604052808360c081018610156200055257600080fd5b60005b60068110156200057657815183526020928301929091019060010162000555565b509195945050505050565b600082601f8301126200059357600080fd5b60405160a081016001600160401b0381118282101715620005b857620005b8620008c4565b604052808360a08101861015620005ce57600080fd5b60005b60058110156200057657620005e68262000691565b83526020928301929190910190600101620005d1565b600082601f8301126200060e57600080fd5b81516001600160401b038111156200062a576200062a620008c4565b602062000640601f8301601f19168201620007be565b82815285828487010111156200065557600080fd5b60005b838110156200067557858101830151828201840152820162000658565b83811115620006875760008385840101525b5095945050505050565b805160ff811681146200050057600080fd5b600060208284031215620006b657600080fd5b6200042d82620004e8565b6000806000806000806000806000806102608b8d031215620006e257600080fd5b620006ed8b620004e8565b60208c0151909a506001600160401b03808211156200070b57600080fd5b620007198e838f01620005fc565b9a5060408d01519150808211156200073057600080fd5b506200073f8d828e01620005fc565b9850506200075060608c0162000691565b965060808b01519550620007688c60a08d0162000581565b94506200077a8c6101408d0162000505565b93506200078b6102008c01620004e8565b92506200079c6102208c01620004e8565b9150620007ad6102408c01620004e8565b90509295989b9194979a5092959850565b604051601f8201601f191681016001600160401b0381118282101715620007e957620007e9620008c4565b604052919050565b600082620008035762000803620008ae565b500490565b600081600019048311821515161562000825576200082562000898565b500290565b6000828210156200083f576200083f62000898565b500390565b600181811c908216806200085957607f821691505b602082108114156200087b57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620008935762000893620008ae565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61303780620008ea6000396000f3fe6080604052600436106103395760003560e01c80636bc87c3a116101ab578063aceafe09116100f7578063d543dbeb11610095578063e7e3e3a71161006f578063e7e3e3a714610962578063ea2f0b3714610992578063f2fde38b146109b2578063f887ea40146109d257600080fd5b8063d543dbeb146108dc578063d7034bd6146108fc578063dd62ed3e1461091c57600080fd5b8063c7992f9a116100d1578063c7992f9a1461087a578063d0e0352314610890578063d12a7688146108b0578063d51b31ac146108c657600080fd5b8063aceafe0914610824578063b425bac31461083a578063c49b9a801461085a57600080fd5b80638da5cb5b11610164578063973e898e1161013e578063973e898e146107b8578063a457c2d7146107ce578063a9059cbb146107ee578063aa45026b1461080e57600080fd5b80638da5cb5b146107655780638ee88c531461078357806395d89b41146107a357600080fd5b80636bc87c3a146106ab57806370a08231146106c1578063715018a6146106e1578063796431d0146106f65780637d1db4a51461071657806388f820201461072c57600080fd5b80633586a186116102855780634549b0391161022357806352390c02116101fd57806352390c02146106185780635342acb41461063857806355924646146106715780635930919b1461068b57600080fd5b80634549b039146105b757806349bd5a5e146105d75780634a74bb02146105f757600080fd5b8063395093511161025f578063395093511461054b5780633b124fe71461056b578063430ca09014610581578063437823ec1461059757600080fd5b80633586a186146104eb5780633685d4191461050b578063379e29191461052b57600080fd5b806318160ddd116102f25780632d838119116102cc5780632d8381191461047e578063301370af1461049e578063313ce567146104b3578063324f8dbf146104d557600080fd5b806318160ddd14610433578063200a692d1461044857806323b872dd1461045e57600080fd5b8063061c82d01461034557806306fdde0314610367578063095ea7b314610392578063111411b1146103c257806313114a9d146103e65780631694505e146103fb57600080fd5b3661034057005b600080fd5b34801561035157600080fd5b50610365610360366004612cdd565b6109f2565b005b34801561037357600080fd5b5061037c610a2f565b6040516103899190612d82565b60405180910390f35b34801561039e57600080fd5b506103b26103ad366004612c98565b610ac1565b6040519015158152602001610389565b3480156103ce57600080fd5b506103d860215481565b604051908152602001610389565b3480156103f257600080fd5b506014546103d8565b34801561040757600080fd5b5060235461041b906001600160a01b031681565b6040516001600160a01b039091168152602001610389565b34801561043f57600080fd5b506012546103d8565b34801561045457600080fd5b506103d8601f5481565b34801561046a57600080fd5b506103b2610479366004612c5c565b610ad8565b34801561048a57600080fd5b506103d8610499366004612cdd565b610b41565b3480156104aa57600080fd5b50610365610bc5565b3480156104bf57600080fd5b5060185460405160ff9091168152602001610389565b3480156104e157600080fd5b506103d860055481565b3480156104f757600080fd5b50610365610506366004612cdd565b610c03565b34801561051757600080fd5b50610365610526366004612c0e565b610c37565b34801561053757600080fd5b50610365610546366004612cdd565b610d9c565b34801561055757600080fd5b506103b2610566366004612c98565b610df7565b34801561057757600080fd5b506103d860195481565b34801561058d57600080fd5b506103d860025481565b3480156105a357600080fd5b506103656105b2366004612c0e565b610e2d565b3480156105c357600080fd5b506103d86105d2366004612cf6565b610e92565b3480156105e357600080fd5b5060245461041b906001600160a01b031681565b34801561060357600080fd5b506024546103b290600160a81b900460ff1681565b34801561062457600080fd5b50610365610633366004612c0e565b610f21565b34801561064457600080fd5b506103b2610653366004612c0e565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561067d57600080fd5b506015546103b29060ff1681565b34801561069757600080fd5b5060115461041b906001600160a01b031681565b3480156106b757600080fd5b506103d8601b5481565b3480156106cd57600080fd5b506103d86106dc366004612c0e565b611022565b3480156106ed57600080fd5b50610365611081565b34801561070257600080fd5b50610365610711366004612cdd565b611095565b34801561072257600080fd5b506103d860255481565b34801561073857600080fd5b506103b2610747366004612c0e565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561077157600080fd5b506000546001600160a01b031661041b565b34801561078f57600080fd5b5061036561079e366004612cdd565b61116e565b3480156107af57600080fd5b5061037c6111d2565b3480156107c457600080fd5b506103d860075481565b3480156107da57600080fd5b506103b26107e9366004612c98565b6111e1565b3480156107fa57600080fd5b506103b2610809366004612c98565b611230565b34801561081a57600080fd5b506103d8601d5481565b34801561083057600080fd5b506103d860045481565b34801561084657600080fd5b50600f5461041b906001600160a01b031681565b34801561086657600080fd5b50610365610875366004612cc2565b61123d565b34801561088657600080fd5b506103d860035481565b34801561089c57600080fd5b506103656108ab366004612cdd565b611292565b3480156108bc57600080fd5b506103d860265481565b3480156108d257600080fd5b506103d860065481565b3480156108e857600080fd5b506103656108f7366004612cdd565b6112c6565b34801561090857600080fd5b50610365610917366004612c29565b61134d565b34801561092857600080fd5b506103d8610937366004612c29565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561096e57600080fd5b50610365601a54601955601c54601b55601e54601d55602054601f55602254602155565b34801561099e57600080fd5b506103656109ad366004612c0e565b611483565b3480156109be57600080fd5b506103656109cd366004612c0e565b611514565b3480156109de57600080fd5b5060105461041b906001600160a01b031681565b6109fa6115a2565b600354811115610a255760405162461bcd60e51b8152600401610a1c90612e0e565b60405180910390fd5b6019819055601a55565b606060168054610a3e90612f1c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6a90612f1c565b8015610ab75780601f10610a8c57610100808354040283529160200191610ab7565b820191906000526020600020905b815481529060010190602001808311610a9a57829003601f168201915b5050505050905090565b6000610ace3384846115fc565b5060015b92915050565b6000610ae5848484611721565b610b378433610b3285604051806060016040528060288152602001612fb5602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190611a1d565b6115fc565b5060019392505050565b6000601354821115610ba85760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610a1c565b6000610bb2611a49565b9050610bbe8382611596565b9392505050565b601954158015610bd55750601b54155b8015610be15750601d54155b15610be857565b60006019819055601b819055601d819055601f819055602155565b610c0b6115a2565b600754811115610c2d5760405162461bcd60e51b8152600401610a1c90612e0e565b6021819055602255565b610c3f6115a2565b6001600160a01b0381166000908152600c602052604090205460ff16610c775760405162461bcd60e51b8152600401610a1c90612dd7565b60005b600e54811015610d9857816001600160a01b0316600e8281548110610ca157610ca1612f9e565b6000918252602090912001546001600160a01b03161415610d8657600e8054610ccc90600190612f05565b81548110610cdc57610cdc612f9e565b600091825260209091200154600e80546001600160a01b039092169183908110610d0857610d08612f9e565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600982526040808220829055600c90925220805460ff19169055600e805480610d6057610d60612f88565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610d9081612f57565b915050610c7a565b5050565b610da46115a2565b600454811115610ded5760405162461bcd60e51b81526020600482015260146024820152737465616d466565206f7574206f662072616e676560601b6044820152606401610a1c565b601d819055601e55565b336000818152600a602090815260408083206001600160a01b03871684529091528120549091610ace918590610b329086611a6c565b610e356115a2565b6001600160a01b0381166000908152600b602052604090205460ff1615610e6e5760405162461bcd60e51b8152600401610a1c90612dd7565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000601254831115610ee65760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610a1c565b81610f06576000610ef684611a78565b50949650610ad295505050505050565b6000610f1184611a78565b50939650610ad295505050505050565b610f296115a2565b6001600160a01b0381166000908152600c602052604090205460ff1615610f625760405162461bcd60e51b8152600401610a1c90612dd7565b6001600160a01b03811660009081526008602052604090205415610fbc576001600160a01b038116600090815260086020526040902054610fa290610b41565b6001600160a01b0382166000908152600960205260409020555b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319169091179055565b6001600160a01b0381166000908152600c602052604081205460ff161561105f57506001600160a01b031660009081526009602052604090205490565b6001600160a01b038216600090815260086020526040902054610ad290610b41565b6110896115a2565b6110936000611ad3565b565b61109d6115a2565b6110bd6127106110b760056110b160125490565b9061158a565b90611596565b8110156111325760405162461bcd60e51b815260206004820152603860248201527f537761706261636b20616d6f756e742073686f756c64206265206174206c656160448201527f737420302e303525206f6620746f74616c20737570706c7900000000000000006064820152608401610a1c565b60268190556040518181527ff7edd1a72d399eb95c56c07c5a26f00a9096735269c96c75caa8fc4e15bcd5d2906020015b60405180910390a150565b6111766115a2565b6002548111156111c85760405162461bcd60e51b815260206004820152601960248201527f6c6971756964697479466565206f7574206f662072616e6765000000000000006044820152606401610a1c565b601b819055601c55565b606060178054610a3e90612f1c565b6000610ace3384610b3285604051806060016040528060258152602001612fdd60259139336000908152600a602090815260408083206001600160a01b038d1684529091529020549190611a1d565b6000610ace338484611721565b6112456115a2565b60248054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061116390831515815260200190565b61129a6115a2565b6006548111156112bc5760405162461bcd60e51b8152600401610a1c90612e0e565b601f819055602055565b6112ce6115a2565b60055481101580156112e1575060648111155b61132d5760405162461bcd60e51b815260206004820152601960248201527f6d6178547850657263656e74206f7574206f662072616e6765000000000000006044820152606401610a1c565b61134760646110b78360125461158a90919063ffffffff16565b60255550565b6113556115a2565b6001600160a01b0382166000908152600d602052604090205460ff166113c75760405162461bcd60e51b815260206004820152602160248201527f57616c6c65742061646472657373206e6f74207365742070726576696f75736c6044820152607960f81b6064820152608401610a1c565b6001600160a01b0381166000908152600d602052604090205460ff16156114305760405162461bcd60e51b815260206004820152601a60248201527f57616c6c6574206164647265737320616c7265616479207365740000000000006044820152606401610a1c565b6001600160a01b0382166000908152600b602052604090205460ff161561145a5761145a82611483565b6001600160a01b0382166000908152600d60205260409020805460ff19169055610d9881611b23565b61148b6115a2565b6001600160a01b0381166000908152600b602052604090205460ff166114f35760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c7564656400000000006044820152606401610a1c565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b61151c6115a2565b6001600160a01b0381166115815760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a1c565b610e6e81611ad3565b6000610bbe8284612ee6565b6000610bbe8284612ec4565b6000546001600160a01b031633146110935760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a1c565b6001600160a01b03831661165e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a1c565b6001600160a01b0382166116bf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a1c565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166117855760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a1c565b6001600160a01b0382166117e75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a1c565b6001600160a01b0383166000908152600b602052604090205460ff1661186957600081116118695760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610a1c565b6024546001600160a01b038381169116141561188c57601f54601955602154601b555b6000546001600160a01b038481169116148015906118b857506000546001600160a01b03838116911614155b15611920576025548111156119205760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a1c565b600061192b30611022565b9050602554811061193b57506025545b602654811080159081906119595750602454600160a01b900460ff16155b801561197357506024546001600160a01b03868116911614155b80156119885750602454600160a81b900460ff165b1561199b57602654915061199b82611b83565b6001600160a01b0385166000908152600b602052604090205460019060ff16806119dd57506001600160a01b0385166000908152600b602052604090205460ff165b156119e6575060005b6119f286868684611c2a565b611a15601a54601955601c54601b55601e54601d55602054601f55602254602155565b505050505050565b60008184841115611a415760405162461bcd60e51b8152600401610a1c9190612d82565b505050900390565b6000806000611a56611d91565b9092509050611a658282611596565b9250505090565b6000610bbe8284612eac565b6000806000806000806000806000806000611a928c611f13565b93509350935093506000806000611ab38f878787611aae611a49565b611f68565b919f509d509b509599509397509195509350505050919395979092949650565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166000908152600b602052604090205460ff16611b4c57611b4c81610e2d565b6001600160a01b03166000818152600d60205260409020805460ff19166001179055600f80546001600160a01b0319169091179055565b6024805460ff60a01b1916600160a01b1790556000611ba3826002611596565b90506000611bb18383611fca565b905047611bbd83611fd6565b6000611bc94783611fca565b9050611bd58382612337565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506024805460ff60a01b19169055505050565b80611c3757611c37610bc5565b6001600160a01b0384166000908152600c602052604090205460ff168015611c7857506001600160a01b0383166000908152600c602052604090205460ff16155b15611c8d57611c888484846126f4565b611d8b565b6001600160a01b0384166000908152600c602052604090205460ff16158015611cce57506001600160a01b0383166000908152600c602052604090205460ff165b15611cde57611c8884848461283a565b6001600160a01b0384166000908152600c602052604090205460ff16158015611d2057506001600160a01b0383166000908152600c602052604090205460ff16155b15611d3057611c888484846128f9565b6001600160a01b0384166000908152600c602052604090205460ff168015611d7057506001600160a01b0383166000908152600c602052604090205460ff165b15611d8057611c88848484612953565b611d8b8484846128f9565b50505050565b6013546012546000918291825b600e54811015611ee3578260086000600e8481548110611dc057611dc0612f9e565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611e2b57508160096000600e8481548110611e0457611e04612f9e565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611e4157601354601254945094505050509091565b611e8760086000600e8481548110611e5b57611e5b612f9e565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611fca565b9250611ecf60096000600e8481548110611ea357611ea3612f9e565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611fca565b915080611edb81612f57565b915050611d9e565b50601254601354611ef391611596565b821015611f0a576013546012549350935050509091565b90939092509050565b6000806000806000611f24866129dc565b90506000611f31876129f8565b90506000611f3e88612a14565b90506000611f5882611f5285818d89611fca565b90611fca565b9993985091965094509092505050565b6000808080611f77898661158a565b90506000611f85898761158a565b90506000611f93898861158a565b90506000611fa1898961158a565b90506000611fb582611f5285818989611fca565b949d949c50929a509298505050505050505050565b6000610bbe8284612f05565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061200b5761200b612f9e565b6001600160a01b03928316602091820292909201015260115482519116908290600190811061203c5761203c612f9e565b6001600160a01b03928316602091820292909201015260235461206291309116846115fc565b60235460405163791ac94760e01b81526001600160a01b039091169063791ac9479061209b908590600090869030904290600401612e3b565b600060405180830381600087803b1580156120b557600080fd5b505af19250505080156120c6575060015b610d98573d8080156120f4576040519150601f19603f3d011682016040523d82523d6000602084013e6120f9565b606091505b5060235460405163d46d2f8360e01b81526001600160a01b039091169063d46d2f8390612133908690600090879030904290600401612e3b565b600060405180830381600087803b15801561214d57600080fd5b505af192505050801561215e575060015b612332573d80801561218c576040519150601f19603f3d011682016040523d82523d6000602084013e612191565b606091505b50602354604051633b158ab160e11b81526001600160a01b039091169063762b1562906121cb908790600090889030904290600401612e3b565b600060405180830381600087803b1580156121e557600080fd5b505af19250505080156121f6575060015b611d8b573d808015612224576040519150601f19603f3d011682016040523d82523d6000602084013e612229565b606091505b506023546040516312d70e6d60e11b81526001600160a01b03909116906325ae1cda90612263908890600090899030904290600401612e3b565b600060405180830381600087803b15801561227d57600080fd5b505af192505050801561228e575060015b61232f573d8080156122bc576040519150601f19603f3d011682016040523d82523d6000602084013e6122c1565b606091505b5060235460405163791ac94760e01b81526001600160a01b039091169063791ac947906122fb9089906000908a9030904290600401612e3b565b600060405180830381600087803b15801561231557600080fd5b505af1158015612329573d6000803e3d6000fd5b50505050505b50505b505050565b60235461234f9030906001600160a01b0316846115fc565b60235460015460405163f305d71960e01b81526001600160a01b039283169263f305d71992859261238f9230928992600092839216904290600401612d47565b6060604051808303818588803b1580156123a857600080fd5b505af1935050505080156123d9575060408051601f3d908101601f191682019092526123d691810190612d19565b60015b61232f573d808015612407576040519150601f19603f3d011682016040523d82523d6000602084013e61240c565b606091505b506023546001546040516375576a2160e11b81526001600160a01b039283169263eaaed44292869261244d9230928a92600092839216904290600401612d47565b6060604051808303818588803b15801561246657600080fd5b505af193505050508015612497575060408051601f3d908101601f1916820190925261249491810190612d19565b60015b611a15573d8080156124c5576040519150601f19603f3d011682016040523d82523d6000602084013e6124ca565b606091505b50602354600154604051637c8d9fb960e11b81526001600160a01b039283169263f91b3f7292879261250b9230928b92600092839216904290600401612d47565b6060604051808303818588803b15801561252457600080fd5b505af193505050508015612555575060408051601f3d908101601f1916820190925261255291810190612d19565b60015b6126eb573d808015612583576040519150601f19603f3d011682016040523d82523d6000602084013e612588565b606091505b50602354600154604051630798368960e41b81526001600160a01b039283169263798368909288926125c99230928c92600092839216904290600401612d47565b6060604051808303818588803b1580156125e257600080fd5b505af193505050508015612613575060408051601f3d908101601f1916820190925261261091810190612d19565b60015b6126e2573d808015612641576040519150601f19603f3d011682016040523d82523d6000602084013e612646565b606091505b5060235460015460405163f305d71960e01b81526001600160a01b039283169263f305d7199289926126879230928d92600092839216904290600401612d47565b6060604051808303818588803b1580156126a057600080fd5b505af11580156126b4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126d99190612d19565b5050505061232f565b50505050611d8b565b50505050505050565b600080600080600080600061270888611a78565b965096509650965096509650965061274e88600960008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611fca90919063ffffffff16565b6001600160a01b038b1660009081526009602090815260408083209390935560089052205461277d9088611fca565b6001600160a01b03808c1660009081526008602052604080822093909355908b16815220546127ac9087611a6c565b6001600160a01b038a166000908152600860205260409020556127ce82612a30565b6127d781612af1565b6127e18584612bbe565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161282691815260200190565b60405180910390a350505050505050505050565b600080600080600080600061284e88611a78565b965096509650965096509650965061289487600860008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611fca90919063ffffffff16565b6001600160a01b03808c16600090815260086020908152604080832094909455918c168152600990915220546128ca9085611a6c565b6001600160a01b038a166000908152600960209081526040808320939093556008905220546127ac9087611a6c565b600080600080600080600061290d88611a78565b965096509650965096509650965061277d87600860008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611fca90919063ffffffff16565b600080600080600080600061296788611a78565b96509650965096509650965096506129ad88600960008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611fca90919063ffffffff16565b6001600160a01b038b166000908152600960209081526040808320939093556008905220546128949088611fca565b6000610ad260646110b76019548561158a90919063ffffffff16565b6000610ad260646110b7601b548561158a90919063ffffffff16565b6000610ad260646110b7601d548561158a90919063ffffffff16565b6000612a3a611a49565b90506000612a48838361158a565b30600090815260086020526040902054909150612a659082611a6c565b30600090815260086020908152604080832093909355600c9052205460ff1615612ab45730600090815260096020526040902054612aa39084611a6c565b306000908152600960205260409020555b30335b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161171491815260200190565b6000612afb611a49565b90506000612b09838361158a565b600f546001600160a01b0316600090815260086020526040902054909150612b319082611a6c565b600f80546001600160a01b0390811660009081526008602090815260408083209590955592549091168152600c909152205460ff1615612bac57600f546001600160a01b0316600090815260096020526040902054612b909084611a6c565b600f546001600160a01b03166000908152600960205260409020555b600f546001600160a01b031633612ab7565b601354612bcb9083611fca565b601355601454612bdb9082611a6c565b6014555050565b80356001600160a01b0381168114612bf957600080fd5b919050565b80358015158114612bf957600080fd5b600060208284031215612c2057600080fd5b610bbe82612be2565b60008060408385031215612c3c57600080fd5b612c4583612be2565b9150612c5360208401612be2565b90509250929050565b600080600060608486031215612c7157600080fd5b612c7a84612be2565b9250612c8860208501612be2565b9150604084013590509250925092565b60008060408385031215612cab57600080fd5b612cb483612be2565b946020939093013593505050565b600060208284031215612cd457600080fd5b610bbe82612bfe565b600060208284031215612cef57600080fd5b5035919050565b60008060408385031215612d0957600080fd5b82359150612c5360208401612bfe565b600080600060608486031215612d2e57600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600060208083528351808285015260005b81811015612daf57858101830151858201604001528201612d93565b81811115612dc1576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604082015260600190565b602080825260139082015272746178466565206f7574206f662072616e676560681b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612e8b5784516001600160a01b031683529383019391830191600101612e66565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612ebf57612ebf612f72565b500190565b600082612ee157634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612f0057612f00612f72565b500290565b600082821015612f1757612f17612f72565b500390565b600181811c90821680612f3057607f821691505b60208210811415612f5157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612f6b57612f6b612f72565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040a4b3410ee63ce07cd6a6a118546b82ca58b0d03fe37b5f8e8155c12f3e091d64736f6c63430008070033000000000000000000000000ddae2d0f091d39cfa5cd932ac8d1800397176513000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000001431e0fae6d7217caa0000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000070000000000000000000000007c0f63b078e493c27b3b0c2c6ee5e5f68367b94800000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000000044e494b410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044e494b4100000000000000000000000000000000000000000000000000000000