Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
66,111,111.45 T10DTX

Holders:
6
Profile Summary
Blockchain:
Ethereum (1)


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

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Created At:
Wed, 23 Oct 2024 23:31:35 GMT
SpecialTitanXAuction.sol
SpecialTitanXAuction.sol
SpecialTitanXAuction.sol


Contract ABI
[
  {
    "inputs": [],
    "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": "uint256",
        "name": "day",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "collectedDepositTokenToBuyback",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "boughtTokens",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      }
    ],
    "name": "BuybackAndBurn",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "aountShares",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amountToken",
        "type": "uint256"
      }
    ],
    "name": "ChangeSharesToToken",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "rewardAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "claimTime",
        "type": "uint256"
      }
    ],
    "name": "ClaimVesting",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "rawAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "auctionEntryDay",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "currentDay",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "entryTime",
        "type": "uint256"
      }
    ],
    "name": "EnterAuction",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "transferredToken",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "transferredDepositToken",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      }
    ],
    "name": "LiqAdded",
    "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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "vestAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "_vestIndex",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "vestTime",
        "type": "uint256"
      }
    ],
    "name": "Vest",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "LAUNCH_TIME",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_dev",
    "outputs": [
      {
        "internalType": "address payable",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_dev1",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_feeRecipient",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_router",
    "outputs": [
      {
        "internalType": "contract IRouter",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_routerAddr",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "addLiqDay1Test",
    "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": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "auctionEntry_allDays",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "auctionEntry_thatDay",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "auctionPeriod",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "auctionDay",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      }
    ],
    "name": "buyShareFromAuction",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "day",
        "type": "uint256"
      }
    ],
    "name": "buybackAndBurnTest",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_vestIndex",
        "type": "uint256"
      }
    ],
    "name": "calcVestingEmission",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_day",
        "type": "uint256"
      }
    ],
    "name": "calculateTokenPerShareOnDay",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "auctionDay",
        "type": "uint256"
      }
    ],
    "name": "claimTokenFromSharesAndVest",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_vestIndex",
        "type": "uint256"
      }
    ],
    "name": "claimVestingEmissions",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "contrAddr",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "currentDay",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "dailyUpdate",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "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": "uint256",
        "name": "auctionDay",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "tokenAmount",
        "type": "uint256"
      }
    ],
    "name": "depositTitanXtoDayX",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "depositToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "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": [],
    "name": "isAuctionActive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "isBuybackAndBurning",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      }
    ],
    "name": "isExcludedFromTaxReceiver",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastAuctionPauseTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastAuctionUnpauseTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "mapMemberAuction",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "memberAuctionValue",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "hasChangedShareToToken",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "mapMemberAuction_overallData",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "overall_collectedTokens",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "total_auctionEnteries",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "offDays",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oneDay",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "overallCollectedEarnings",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "overallVestedToken",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pausabilityPermanentlyDisabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pauseUnpauseAuctions",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "percentToReceiveAfterTax",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "permanentlyDisableAuctionPause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_user",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_vestIndex",
        "type": "uint256"
      }
    ],
    "name": "readVestingEmission",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address payable",
        "name": "dev",
        "type": "address"
      },
      {
        "internalType": "address payable",
        "name": "feeRecipient",
        "type": "address"
      }
    ],
    "name": "setDevs",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "_excluded",
        "type": "bool"
      }
    ],
    "name": "setExcludedFromTaxReceiver",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newTime",
        "type": "uint256"
      }
    ],
    "name": "setLaunchTime",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "_offDays",
        "type": "uint32"
      }
    ],
    "name": "setOffDays",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "percentToReceive",
        "type": "uint256"
      }
    ],
    "name": "setPercentToReceiveAfterTax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "storedAmountOut",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "thisDay",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalPauseTimeCounter",
    "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": "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": "uint256",
        "name": "day",
        "type": "uint256"
      }
    ],
    "name": "updateStoredAmountOut",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "usersCount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "usersCountDaily",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "vesting",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "vestTime",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "claimed",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "lastUpdate",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "collected",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60806040525f80546001600160a01b03199081167354bb21ad10571d97fdb926e4c90bc5fc2a6b1101908117909255600180548216732096afdaa68eeae1ebf95dfdf565ee6d9b1fba37179055600280548216909217909155600380548216737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915560048054831690911790556005805490911673f19308f923582a6f7c465e5ce7a9dc1bec6665b1179055606460065563671a6f00600c55610708600e8190556100c390600a61029c565b600f556010805460ff60201b19166401000000001790555f601181905560128190556014805460ff19169055650a86cc92e3da6015556a405615bd5e98512f240000601655601d55348015610116575f5ffd5b50600780546001600160a01b03191630178155335f90815260216020526040808220805460ff19908116600190811790925584546001600160a01b039081168552838520805483168417905584548116855292909320805490931617909155905461018a9116670de0b6b3a764000061018f565b6102c6565b6001600160a01b0382165f908152601860205260409020546101b1908261021d565b6001600160a01b0383165f908152601860205260409020556017546101d6908261021d565b6017556040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b5f8061022983856102b3565b90508381101561027f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761028257610282610288565b8082018082111561028257610282610288565b614234806102d35f395ff3fe60806040526004361061038a575f3560e01c806379e10daa116101d3578063c843bae6116100fd578063d1b4b9a31161009d578063e0ed646f1161006d578063e0ed646f14610b46578063e79ffa1114610b5f578063edae876f14610b7d578063f22fc41314610b9c575f5ffd5b8063d1b4b9a314610aa3578063d7abc59b14610ac4578063db95f93c14610ae3578063dd62ed3e14610b02575f5ffd5b8063c9b542ac116100d8578063c9b542ac14610a47578063cc13483914610a5b578063d052491b14610a6f578063d15c07d014610a84575f5ffd5b8063c843bae6146109f4578063c89039c514610a13578063c8a3fe8114610a32575f5ffd5b8063a342f23811610173578063b997fe8211610143578063b997fe8214610977578063b9f7dc40146109a2578063bf627bf5146109c1578063c6d98c82146109d5575f5ffd5b8063a342f238146108d3578063a457c2d7146108f2578063a9059cbb14610911578063aebc463b14610930575f5ffd5b80638f10aca7116101ae5780638f10aca71461084f57806395d89b411461086e5780639aa461101461089f5780639ff46e74146108b4575f5ffd5b806379e10daa14610806578063834368ae1461082557806385c1a33c1461083a575f5ffd5b806339509351116102b457806352d63d49116102545780636f35f8fc116102245780636f35f8fc1461078a57806370a082311461079f578063717fcc64146107d357806379a1abaa146107e7575f5ffd5b806352d63d49146107105780635c9302c91461072957806363f4df771461073e5780636ba13a8214610775575f5ffd5b80634bd9351b1161028f5780634bd9351b146106755780634c59ffde1461068a5780634fe1c353146106dd578063504de2b0146106f1575f5ffd5b806339509351146106185780633a52bedd14610637578063429fed0d14610656575f5ffd5b8063103c659a1161032a5780632018907e116102fa5780632018907e1461059957806323b872dd146105ae578063265da042146105cd578063313ce56714610604575f5ffd5b8063103c659a146104cc578063108b90a4146104eb578063143ee5b91461050a57806318160ddd14610585575f5ffd5b806308649840116103655780630864984014610436578063095ea7b3146104675780630cccfc58146104965780630f16cba4146104ab575f5ffd5b8063022466b51461039557806306fdde03146103bd578063072831661461040b575f5ffd5b3661039157005b5f5ffd5b3480156103a0575f5ffd5b506103aa600c5481565b6040519081526020015b60405180910390f35b3480156103c8575f5ffd5b506103fe604051806040016040528060168152602001750a8cae6e882eac6e8d2dedca8cae6e85aa8d2e8c2dcb60531b81525081565b6040516103b49190613c0a565b348015610416575f5ffd5b506103aa610425366004613c3f565b601c6020525f908152604090205481565b348015610441575f5ffd5b506010546104529063ffffffff1681565b60405163ffffffff90911681526020016103b4565b348015610472575f5ffd5b50610486610481366004613c6d565b610bb1565b60405190151581526020016103b4565b3480156104a1575f5ffd5b506103aa600f5481565b3480156104b6575f5ffd5b506104ca6104c5366004613c3f565b610c1d565b005b3480156104d7575f5ffd5b506104ca6104e6366004613c3f565b6111e8565b3480156104f6575f5ffd5b50610486610505366004613c3f565b611287565b348015610515575f5ffd5b5061055d610524366004613c6d565b601960209081525f9283526040808420909152908252902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016103b4565b348015610590575f5ffd5b506017546103aa565b3480156105a4575f5ffd5b506103aa60115481565b3480156105b9575f5ffd5b506104866105c8366004613c97565b6114bc565b3480156105d8575f5ffd5b506001546105ec906001600160a01b031681565b6040516001600160a01b0390911681526020016103b4565b34801561060f575f5ffd5b506103aa601281565b348015610623575f5ffd5b50610486610632366004613c6d565b611536565b348015610642575f5ffd5b506103aa610651366004613c3f565b6115b9565b348015610661575f5ffd5b506104ca610670366004613cd5565b611600565b348015610680575f5ffd5b506103aa600e5481565b348015610695575f5ffd5b506106c86106a4366004613c6d565b60208080525f92835260408084209091529082529020805460019091015460ff1682565b604080519283529015156020830152016103b4565b3480156106e8575f5ffd5b506104ca61173a565b3480156106fc575f5ffd5b506003546105ec906001600160a01b031681565b34801561071b575f5ffd5b506014546104869060ff1681565b348015610734575f5ffd5b506103aa600d5481565b348015610749575f5ffd5b50610486610758366004613cf8565b6001600160a01b03165f9081526021602052604090205460ff1690565b348015610780575f5ffd5b506103aa601d5481565b348015610795575f5ffd5b506103aa60065481565b3480156107aa575f5ffd5b506103aa6107b9366004613cf8565b6001600160a01b03165f9081526018602052604090205490565b3480156107de575f5ffd5b506104ca611813565b3480156107f2575f5ffd5b50610486610801366004613d13565b611c37565b348015610811575f5ffd5b506007546105ec906001600160a01b031681565b348015610830575f5ffd5b506103aa601b5481565b348015610845575f5ffd5b506103aa600a5481565b34801561085a575f5ffd5b506103aa610869366004613c6d565b61201c565b348015610879575f5ffd5b506103fe604051806040016040528060068152602001650a8626088a8b60d31b81525081565b3480156108aa575f5ffd5b506103aa600b5481565b3480156108bf575f5ffd5b506104ca6108ce366004613c3f565b6121a4565b3480156108de575f5ffd5b506002546105ec906001600160a01b031681565b3480156108fd575f5ffd5b5061048661090c366004613c6d565b6122de565b34801561091c575f5ffd5b5061048661092b366004613c6d565b6123c1565b34801561093b575f5ffd5b5061096261094a366004613cf8565b601f6020525f90815260409020805460019091015482565b604080519283526020830191909152016103b4565b348015610982575f5ffd5b506103aa610991366004613c3f565b601a6020525f908152604090205481565b3480156109ad575f5ffd5b506104ca6109bc366004613c3f565b6123d6565b3480156109cc575f5ffd5b506103aa612525565b3480156109e0575f5ffd5b506104ca6109ef366004613d40565b6125bb565b3480156109ff575f5ffd5b506104ca610a0e366004613c3f565b612623565b348015610a1e575f5ffd5b506005546105ec906001600160a01b031681565b348015610a3d575f5ffd5b506103aa60135481565b348015610a52575f5ffd5b506104ca61270e565b348015610a66575f5ffd5b506104ca6127ca565b348015610a7a575f5ffd5b506103aa60085481565b348015610a8f575f5ffd5b50610486610a9e366004613d13565b6128d3565b348015610aae575f5ffd5b5060105461048690640100000000900460ff1681565b348015610acf575f5ffd5b506103aa610ade366004613c6d565b612a77565b348015610aee575f5ffd5b506104ca610afd366004613d77565b612c02565b348015610b0d575f5ffd5b506103aa610b1c366004613d77565b6001600160a01b039182165f908152601e6020908152604080832093909416825291909152205490565b348015610b51575f5ffd5b506009546104869060ff1681565b348015610b6a575f5ffd5b505f546105ec906001600160a01b031681565b348015610b88575f5ffd5b506004546105ec906001600160a01b031681565b348015610ba7575f5ffd5b506103aa60125481565b335f818152601e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c0b9086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b0316331480610c3f57506001546001600160a01b031633145b610c645760405162461bcd60e51b8152600401610c5b90613da3565b60405180910390fd5b5f818152601a6020526040812054606490610c80906055613dee565b610c8a9190613e05565b6005546007546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015610cd9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfd9190613e24565b905081811015610d1f5760405162461bcd60e51b8152600401610c5b90613e3b565b600554600754600354604051636eb1769f60e11b81526001600160a01b039283166004820152908216602482015291169063dd62ed3e90604401602060405180830381865afa158015610d74573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d989190613e24565b5f03610e175760055460035460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392610dd5929116905f1990600401613e7d565b6020604051808303815f875af1158015610df1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e159190613e96565b505b6040805160028082526060820183525f92602083019080368337505060055482519293506001600160a01b0316918391505f90610e5657610e56613ec5565b6001600160a01b039283166020918202929092010152600754825191169082906001908110610e8757610e87613ec5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f6064600854605f610eb99190613dee565b610ec39190613e05565b6007546002546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015610f12573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f369190613e24565b6004546002549192506001600160a01b0390811691635c11d7959188918691889116610f63426064613ed9565b6040518663ffffffff1660e01b8152600401610f83959493929190613f2f565b5f604051808303815f87803b158015610f9a575f5ffd5b505af1158015610fac573d5f5f3e3d5ffd5b50506007546002546040516370a0823160e01b81526001600160a01b0391821660048201525f94508593509116906370a0823190602401602060405180830381865afa158015610ffe573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110229190613e24565b61102c9190613f6a565b90505f811161107d5760405162461bcd60e51b815260206004820152601c60248201527f4e6f20746f6b656e732072656365697665642066726f6d2073776170000000006044820152606401610c5b565b6007546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926110b5929116905f908690600401613f7d565b6020604051808303815f875af11580156110d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f59190613e96565b506005546001545f898152601a60205260409020546001600160a01b039283169263a9059cbb921690611129908a90613f6a565b6040518363ffffffff1660e01b8152600401611146929190613e7d565b6020604051808303815f875af1158015611162573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111869190613e96565b505f878152601a602090815260408083209290925581518981529081018890529081018290524260608201527f5e7915a29276dd88a78522cbe74e400e163a4cf95cc4b51aada58f60181c1aca9060800160405180910390a150505050505050565b5f546001600160a01b031633148061120a57506001546001600160a01b031633145b6112265760405162461bcd60e51b8152600401610c5b90613da3565b6065811080156112365750605e81115b6112825760405162461bcd60e51b815260206004820152601b60248201527f56616c7565206e6f7420696e20616c6c6f7765642072616e67652100000000006044820152606401610c5b565b600655565b5f81611291612525565b116113145760405162461bcd60e51b815260206004820152604760248201527f546869732061756374696f6e206461797320746f6b656e20617265206e6f742060448201527f726561647920746f206265206163636f756e74656420746f2075736572732076606482015266657374696e672160c81b608482015260a401610c5b565b335f90815260208080526040808320858452909152902054806113965760405162461bcd60e51b815260206004820152603460248201527f5573657220686173206e65766572206465706f7369746564206465706f736974604482015273546f6b656e20746f2061756374696f6e4461792160601b6064820152608401610c5b565b335f9081526020808052604080832086845290915290206001015460ff16156114165760405162461bcd60e51b815260206004820152602c60248201527f557365722068617320616c7265616479204368616e676564206869732053686160448201526b3932b9903a37902a37b5b2b760a11b6064820152608401610c5b565b5f61143c670de0b6b3a764000061143684611430886115b9565b90612c6d565b90612cf2565b90506114488185612d33565b335f9081526020808052604080832087845290915290206001908101805460ff1916909117905561147761173a565b604080518381526020810183905233917fe3e10b6a13fa59fdab56800bb8942e886fa0b6ffccb5a9e062d968c05becdd71910160405180910390a25060019392505050565b6007545f906001600160a01b03163314611521576001600160a01b0384165f908152601e602090815260408083203384529091529020546114fd9083612db6565b6001600160a01b0385165f908152601e602090815260408083203384529091529020555b61152c848484612df7565b5060019392505050565b335f908152601e602090815260408083206001600160a01b03861684529091528120546115639083613073565b335f818152601e602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610c0b565b5f818152601a60205260408120548082036115d657505f92915050565b5f6115f882611436670de0b6b3a7640000601654612c6d90919063ffffffff16565b949350505050565b5f546001600160a01b031633148061162257506001546001600160a01b031633145b61163e5760405162461bcd60e51b8152600401610c5b90613da3565b600e5460105442916116559163ffffffff16613dee565b600c546116629190613ed9565b116116af5760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e73206861766520616c726561647920737461727465642100006044820152606401610c5b565b42600e548263ffffffff166116c49190613dee565b600c546116d19190613ed9565b1161171e5760405162461bcd60e51b815260206004820152601d60248201527f4e756d62657220666f72206f66664461797320746f6f20736d616c6c210000006044820152606401610c5b565b6010805463ffffffff191663ffffffff92909216919091179055565b6009805460ff1916905561174c612525565b600214801561175d5750600d546001145b1561176a5761176a6130d1565b6003611774612525565b1015801561179657506001611787612525565b6117919190613f6a565b600d54145b80156117c25750600e54600f546117ad9190613e05565b6117b8906002613ed9565b6117c0612525565b105b156117f1576117e360016117d4612525565b6117de9190613f6a565b6134d1565b6009805460ff191660011790555b60095460ff1661180657611806600d546123d6565b61180e612525565b600d55565b5f546001600160a01b031633148061183557506001546001600160a01b031633145b6118515760405162461bcd60e51b8152600401610c5b90613da3565b5f606460165460556118639190613dee565b61186d9190613e05565b90505f6006548260646118809190613dee565b61188a9190613e05565b6007549091506118a3906001600160a01b031682613ac7565b60015f908152601a6020525f5160206141bf5f395f51905f52546064906118cb906055613dee565b6118d59190613e05565b6005546007546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015611924573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119489190613e24565b90508181101561196a5760405162461bcd60e51b8152600401610c5b90613fa1565b600554600754600354604051636eb1769f60e11b81526001600160a01b039283166004820152908216602482015291169063dd62ed3e90604401602060405180830381865afa1580156119bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e39190613e24565b5f03611ada5760055460035460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a20929116905f1990600401613e7d565b6020604051808303815f875af1158015611a3c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a609190613e96565b5060075460035460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611a98929116905f1990600401613e7d565b6020604051808303815f875af1158015611ab4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad89190613e96565b505b6004546007546005546001546001600160a01b039384169363e8e3370093811692811691889188915f91829116611b12426064613ed9565b6040518963ffffffff1660e01b8152600401611b35989796959493929190613ff5565b6060604051808303815f875af1158015611b51573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b75919061403e565b5050600554600180545f91909152601a6020525f5160206141bf5f395f51905f52546001600160a01b03928316935063a9059cbb9290911690611bb9908690613f6a565b6040518363ffffffff1660e01b8152600401611bd6929190613e7d565b6020604051808303815f875af1158015611bf2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c169190613e96565b505060015f908152601a6020525f5160206141bf5f395f51905f5255505050565b5f5f8211611c875760405162461bcd60e51b815260206004820152601760248201527f4e6f20546f6b656e20746f2062757920536861726573210000000000000000006044820152606401610c5b565b601054640100000000900460ff16611ce15760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e73206172652063757272656e746c79205061757365642100006044820152606401610c5b565b601354600e54601054611cfa919063ffffffff16613dee565b600c54611d079190613ed9565b611d119190613ed9565b421015611d605760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e732068617665206e6f742073746172646564206e6f772100006044820152606401610c5b565b611d68612525565b8310158015611d855750600f54600e54611d829085613dee565b11155b611dd15760405162461bcd60e51b815260206004820152601f60248201527f4e6f2076616c69642064617920746f20656e7465722041756374696f6e7321006044820152606401610c5b565b600554600754604051636eb1769f60e11b81523360048201526001600160a01b0391821660248201528492919091169063dd62ed3e90604401602060405180830381865afa158015611e25573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e499190613e24565b1015611e675760405162461bcd60e51b8152600401610c5b90614069565b6005546007546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611ea0923392909116908790600401613f7d565b6020604051808303815f875af1158015611ebc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee09190613e96565b505f838152601a602052604081208054849290611efe908490613ed9565b9250508190555081601b5f828254611f169190613ed9565b9091555050335f908152602080805260408083208684529091528120549003611f6c57601d8054905f611f48836140c6565b90915550505f838152601c60205260408120805491611f66836140c6565b91905055505b335f908152601f602052604081206001018054849290611f8d908490613ed9565b9091555050335f9081526020808052604080832086845290915281208054849290611fb9908490613ed9565b90915550611fc7905061173a565b600d5460408051848152602081018690529081019190915242606082015233907ec639b627799a5a1755e1d6b1557ddc43a507ee06867a140a2e082ca142cd0f9060800160405180910390a250600192915050565b6001600160a01b0382165f908152601960209081526040808320848452909152812054810361204c57505f610c17565b6015546001600160a01b0384165f908152601960209081526040808320868452909152812060030154909161208a9160059161143091829042613f6a565b6001600160a01b0385165f908152601960209081526040808320878452909152812060010154919250906120c69060649061143690606e612c6d565b6001600160a01b0386165f90815260196020908152604080832088845290915290206004810154600190910154919250829161211c91906121169068056bc75e2d63100000906114369088612c6d565b90613073565b111561215c576001600160a01b0385165f908152601960209081526040808320878452909152902060040154612153908290612db6565b92505050610c17565b6001600160a01b0385165f90815260196020908152604080832087845290915290206001015461219b9068056bc75e2d63100000906114369085612c6d565b95945050505050565b5f546001600160a01b03163314806121c657506001546001600160a01b031633145b6121e25760405162461bcd60e51b8152600401610c5b90613da3565b600e5460105442916121f99163ffffffff16613dee565b600c546122069190613ed9565b116122535760405162461bcd60e51b815260206004820152601e60248201527f41756374696f6e73206861766520616c726561647920737461727465642100006044820152606401610c5b565b600e54601054429161226a9163ffffffff16613dee565b6122749083613ed9565b116122d95760405162461bcd60e51b815260206004820152602f60248201527f4e6577204c61756e636874696d65202b206f666644617973206d75737420626560448201526e20696e20746865206675747572652160881b6064820152608401610c5b565b600c55565b335f908152601e602090815260408083206001600160a01b038616845290915281205480831061233057335f908152601e602090815260408083206001600160a01b038816845290915281205561235e565b61233a8184612db6565b335f908152601e602090815260408083206001600160a01b03891684529091529020555b335f818152601e602090815260408083206001600160a01b038916808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b5f6123cd338484612df7565b50600192915050565b5f818152601a60205260408120546064906123f2906055613dee565b6123fc9190613e05565b9050805f03612409575050565b6040805160028082526060820183525f92602083019080368337505060055482519293506001600160a01b0316918391505f9061244857612448613ec5565b6001600160a01b03928316602091820292909201015260075482519116908290600190811061247957612479613ec5565b6001600160a01b0392831660209182029290920101526004805460405163d06ca61f60e01b81525f93919091169163d06ca61f916124bb9187918791016140de565b5f60405180830381865afa1580156124d5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124fc91908101906140f6565b90508060018151811061251157612511613ec5565b602002602001015160088190555050505050565b601354600e546010545f9242929091612544919063ffffffff16613dee565b600c546125519190613ed9565b61255b9190613ed9565b111561256657505f90565b600e5460135460105461258090839063ffffffff16613dee565b600c5461258d9190613ed9565b6125979190613ed9565b6125a19042613f6a565b6125ab9190613e05565b6125b6906001613ed9565b905090565b5f546001600160a01b03163314806125dd57506001546001600160a01b031633145b6125f95760405162461bcd60e51b8152600401610c5b90613da3565b6001600160a01b03919091165f908152602160205260409020805460ff1916911515919091179055565b61262d3382613b42565b335f9081526019602090815260408083208484529091528120600281015460049091015461265a91612db6565b335f8181526019602090815260408083208784529091529020600481015460029091015590915061268b9082613ac7565b335f908152601f6020526040812080548392906126a9908490613ed9565b9250508190555080600b5f8282546126c19190613ed9565b909155506126cf905061173a565b6040805182815242602082015233917f93b2b5baeb90867d00d09e02023eed58ae019d05b1c254578512984cc85e5ba691015b60405180910390a25050565b5f546001600160a01b031633148061273057506001546001600160a01b031633145b61274c5760405162461bcd60e51b8152600401610c5b90613da3565b601054640100000000900460ff166127bb5760405162461bcd60e51b815260206004820152602c60248201527f41756374696f6e7320617265205061757365642120556e70617573652041756360448201526b74696f6e732066697273742160a01b6064820152608401610c5b565b6014805460ff19166001179055565b5f546001600160a01b03163314806127ec57506001546001600160a01b031633145b6128085760405162461bcd60e51b8152600401610c5b90613da3565b60145460ff161561286e5760405162461bcd60e51b815260206004820152602a60248201527f50617573696e672041756374696f6e7320776173207065726d616e656e746c796044820152692064697361626c65642160b01b6064820152608401610c5b565b601054640100000000900460ff1615612895576010805464ff000000001916905542601155565b6010805464ff0000000019166401000000001790554260128190556011546128bc91613f6a565b60135f8282546128cc9190613ed9565b9091555050565b600554600754604051636eb1769f60e11b81523360048201526001600160a01b0391821660248201525f928492169063dd62ed3e90604401602060405180830381865afa158015612926573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294a9190613e24565b10156129685760405162461bcd60e51b8152600401610c5b90614069565b6005546007546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926129a1923392909116908790600401613f7d565b6020604051808303815f875af11580156129bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e19190613e96565b505f838152601a6020526040812080548492906129ff908490613ed9565b9250508190555081601b5f828254612a179190613ed9565b9091555050335f908152601f602052604081206001018054849290612a3d908490613ed9565b9091555050335f9081526020808052604080832086845290915281208054849290612a69908490613ed9565b909155506001949350505050565b6001600160a01b0382165f9081526019602090815260408083208484529091528120548103612aa757505f610c17565b6015546001600160a01b0384165f9081526019602090815260408083208684529091528120600301549091612ae59160059161143091829042613f6a565b6001600160a01b0385165f90815260196020908152604080832087845290915281206001015491925090612b219060649061143690606e612c6d565b6001600160a01b0386165f908152601960209081526040808320888452909152902060048101546001909101549192508291612b7291906121169068056bc75e2d6310000090611436908890612c6d565b1115612ba9576001600160a01b0385165f908152601960209081526040808320878452909152902060020154612153908290612db6565b6001600160a01b0385165f90815260196020908152604080832087845290915290206002810154600482015460019092015461219b92612bfc916121169068056bc75e2d63100000906114369089612c6d565b90612db6565b5f546001600160a01b0316331480612c2457506001546001600160a01b031633145b612c405760405162461bcd60e51b8152600401610c5b90613da3565b5f80546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b5f825f03612c7c57505f610c17565b5f612c878385613dee565b905082612c948583613e05565b14612ceb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c5b565b9392505050565b5f612ceb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613baf565b335f90815260196020908152604080832084845290915281206001810184905542808255600390910155600a8054849290612d6f908490613ed9565b90915550506040805183815260208101839052429181019190915233907f830e279449af3d754a4667acaa6e90dedd7a8b466dd3f232bd2db88e6e77693a90606001612702565b5f612ceb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613bdb565b6001600160a01b0382165f9081526021602052604090205460ff16158015612f9457604080518082018252601f81527f7472616e7366657220616d6f756e7420657863656564732062616c616e6365006020808301919091526001600160a01b0387165f90815260189091529190912054612e73918490613bdb565b6001600160a01b0385165f90815260186020526040812091909155600654612ea390606490611436908690612c6d565b6001600160a01b0385165f90815260186020526040902054909150612ec89082613073565b6001600160a01b0385165f90815260186020526040902055612f0d612eed8483612db6565b6002546001600160a01b03165f9081526018602052604090205490613073565b6002546001600160a01b039081165f90815260186020908152604091829020939093555183815286821692918816915f5160206141df5f395f51905f52910160405180910390a36002546001600160a01b039081169086165f5160206141df5f395f51905f52612f7d8685612db6565b60405190815260200160405180910390a350613065565b604080518082018252601f81527f7472616e7366657220616d6f756e7420657863656564732062616c616e6365006020808301919091526001600160a01b0387165f90815260189091529190912054612fee918490613bdb565b6001600160a01b038086165f90815260186020526040808220939093559085168152205461301c9083613073565b6001600160a01b038085165f8181526018602052604090819020939093559151908616905f5160206141df5f395f51905f529061305c9086815260200190565b60405180910390a35b61306d61173a565b50505050565b5f8061307f8385613ed9565b905083811015612ceb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c5b565b5f606460165460556130e39190613dee565b6130ed9190613e05565b90505f6006548260646131009190613dee565b61310a9190613e05565b600754909150613123906001600160a01b031682613ac7565b60015f908152601a6020525f5160206141bf5f395f51905f525460649061314b906055613dee565b6131559190613e05565b6005546007546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa1580156131a4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131c89190613e24565b9050818110156131ea5760405162461bcd60e51b8152600401610c5b90613fa1565b600554600754600354604051636eb1769f60e11b81526001600160a01b039283166004820152908216602482015291169063dd62ed3e90604401602060405180830381865afa15801561323f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132639190613e24565b5f0361335a5760055460035460405163095ea7b360e01b81526001600160a01b039283169263095ea7b3926132a0929116905f1990600401613e7d565b6020604051808303815f875af11580156132bc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132e09190613e96565b5060075460035460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392613318929116905f1990600401613e7d565b6020604051808303815f875af1158015613334573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133589190613e96565b505b6004546007546005546001600160a01b039283169263e8e33700928116911686865f8080613389426064613ed9565b6040518963ffffffff1660e01b81526004016133ac989796959493929190613ff5565b6060604051808303815f875af11580156133c8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133ec919061403e565b505060055460025460015f52601a6020525f5160206141bf5f395f51905f52546001600160a01b03928316935063a9059cbb929091169061342e908690613f6a565b6040518363ffffffff1660e01b815260040161344b929190613e7d565b6020604051808303815f875af1158015613467573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061348b9190613e96565b506040805184815260208101849052428183015290517fa9632746d1a957634e707ce9a2abb47f8431306c20c70876bf17212eddd388f09181900360600190a150505050565b5f818152601a60205260408120546064906134ed906055613dee565b6134f79190613e05565b6005546007546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015613546573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061356a9190613e24565b90508181101561358c5760405162461bcd60e51b8152600401610c5b90613e3b565b600554600754600354604051636eb1769f60e11b81526001600160a01b039283166004820152908216602482015291169063dd62ed3e90604401602060405180830381865afa1580156135e1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136059190613e24565b5f036136845760055460035460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392613642929116905f1990600401613e7d565b6020604051808303815f875af115801561365e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136829190613e96565b505b6040805160028082526060820183525f92602083019080368337505060055482519293506001600160a01b0316918391505f906136c3576136c3613ec5565b6001600160a01b0392831660209182029290920101526007548251911690829060019081106136f4576136f4613ec5565b6001600160a01b0392831660209182029290920101526004805460405163d06ca61f60e01b81525f93919091169163d06ca61f916137369188918791016140de565b5f60405180830381865afa158015613750573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261377791908101906140f6565b90505f8160018151811061378d5761378d613ec5565b602002602001015190505f60648260636137a79190613dee565b6137b19190613e05565b6007546002546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015613800573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138249190613e24565b6004546002549192506001600160a01b0390811691635c11d795918a9186918a9116613851426064613ed9565b6040518663ffffffff1660e01b8152600401613871959493929190613f2f565b5f604051808303815f87803b158015613888575f5ffd5b505af115801561389a573d5f5f3e3d5ffd5b50506007546002546040516370a0823160e01b81526001600160a01b0391821660048201525f94508593509116906370a0823190602401602060405180830381865afa1580156138ec573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139109190613e24565b61391a9190613f6a565b90505f811161396b5760405162461bcd60e51b815260206004820152601c60248201527f4e6f20746f6b656e732072656365697665642066726f6d2073776170000000006044820152606401610c5b565b6007546002546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926139a3929116905f908690600401613f7d565b6020604051808303815f875af11580156139bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139e39190613e96565b506005546002545f8b8152601a60205260409020546001600160a01b039283169263a9059cbb921690613a17908c90613f6a565b6040518363ffffffff1660e01b8152600401613a34929190613e7d565b6020604051808303815f875af1158015613a50573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a749190613e96565b50604080518a8152602081018a90529081018290524260608201527f5e7915a29276dd88a78522cbe74e400e163a4cf95cc4b51aada58f60181c1aca9060800160405180910390a1505050505050505050565b6001600160a01b0382165f90815260186020526040902054613ae99082613073565b6001600160a01b0383165f90815260186020526040902055601754613b0e9082613073565b6017556040518181526001600160a01b038316905f905f5160206141df5f395f51905f529060200160405180910390a35050565b613b7b613b4f838361201c565b6001600160a01b0384165f90815260196020908152604080832086845290915290206004015490613073565b6001600160a01b03929092165f90815260196020908152604080832093835292905220600481019190915542600390910155565b5f8183613bcf5760405162461bcd60e51b8152600401610c5b9190613c0a565b505f61219b8486613e05565b5f8184841115613bfe5760405162461bcd60e51b8152600401610c5b9190613c0a565b505f61219b8486613f6a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215613c4f575f5ffd5b5035919050565b6001600160a01b0381168114613c6a575f5ffd5b50565b5f5f60408385031215613c7e575f5ffd5b8235613c8981613c56565b946020939093013593505050565b5f5f5f60608486031215613ca9575f5ffd5b8335613cb481613c56565b92506020840135613cc481613c56565b929592945050506040919091013590565b5f60208284031215613ce5575f5ffd5b813563ffffffff81168114612ceb575f5ffd5b5f60208284031215613d08575f5ffd5b8135612ceb81613c56565b5f5f60408385031215613d24575f5ffd5b50508035926020909101359150565b8015158114613c6a575f5ffd5b5f5f60408385031215613d51575f5ffd5b8235613d5c81613c56565b91506020830135613d6c81613d33565b809150509250929050565b5f5f60408385031215613d88575f5ffd5b8235613d9381613c56565b91506020830135613d6c81613c56565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465760000604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610c1757610c17613dda565b5f82613e1f57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215613e34575f5ffd5b5051919050565b60208082526022908201527f496e73756666696369656e74206465706f73697420746f6b656e2062616c616e604082015261636560f01b606082015260800190565b6001600160a01b03929092168252602082015260400190565b5f60208284031215613ea6575f5ffd5b8151612ceb81613d33565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b80820180821115610c1757610c17613dda565b5f8151808452602084019350602083015f5b82811015613f255781516001600160a01b0316865260209586019590910190600101613efe565b5093949350505050565b85815284602082015260a060408201525f613f4d60a0830186613eec565b6001600160a01b0394909416606083015250608001529392505050565b81810381811115610c1757610c17613dda565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208082526034908201527f6164644669727374446179734c69713a206e6f7420656e6f756768206465706f6040820152731cda5d151bdad95b881a5b8818dbdb9d1c9858dd60621b606082015260800190565b6001600160a01b039889168152968816602088015260408701959095526060860193909352608085019190915260a084015290921660c082015260e08101919091526101000190565b5f5f5f60608486031215614050575f5ffd5b5050815160208301516040909301519094929350919050565b6020808252603a908201527f496e73756666696369656e7420616c6c6f77616e636520666f7220636f6e747260408201527f4164647220746f207370656e64206465706f736974546f6b656e000000000000606082015260800190565b5f600182016140d7576140d7613dda565b5060010190565b828152604060208201525f6115f86040830184613eec565b5f60208284031215614106575f5ffd5b815167ffffffffffffffff81111561411c575f5ffd5b8201601f8101841361412c575f5ffd5b805167ffffffffffffffff81111561414657614146613eb1565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561417357614173613eb1565b604052918252602081840181019290810187841115614190575f5ffd5b6020850194505b838510156141b357845180825260209586019590935001614197565b50969550505050505056fef88cd8d612926ebb404e40725c01084b6e9b3ce0344cde068570342cbd448c61ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200bdb34ee545843a9a4ad70213bb2bfd545df72407a1ad4b23e14a863724910f664736f6c634300081c0033

Loading