Overview ERC20
PRICE
$0.049186

ON-CHAIN MARKET CAP n/a

Total Supply:
1,000,000,000.00 SHDW

Holders:
625
Profile Summary
Blockchain:
Base (8453)


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

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No

Created At:
Tue, 12 Mar 2024 06:23:09 GMT
SHADOW.sol
SHADOW.sol
SHADOW.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": [],
    "name": "AutoNukeLP",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "pair",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "SetAutomatedMarketMakerPair",
    "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": "tokensIntoLiquidity",
        "type": "uint256"
      }
    ],
    "name": "SwapAndLiquify",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_isExcludedMaxTxAmount",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "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": "",
        "type": "address"
      }
    ],
    "name": "automatedMarketMakerPairs",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyDevFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyLiquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyMarketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "buyTotalFees",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deadAddress",
    "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": [],
    "name": "devWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "disableTransferDelay",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableTrading",
    "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": "isExcludedFromFees",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lastLpBurnTime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "limitsInEffect",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lpBurnEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lpBurnFrequency",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "marketingWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxTxAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxWallet",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "percentForLPBurn",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "removeLimits",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellDevFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellLiquidityFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellMarketingFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "sellTotalFees",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokensForDev",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokensForLiquidity",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokensForMarketing",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tradingActive",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "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": [],
    "name": "transferDelayEnabled",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "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
60a0604052620f4240600b556109c4600c556001600d5f6101000a81548160ff021916908315150217905550611c20600e55600160105f6101000a81548160ff0219169083151502179055505f601060016101000a81548160ff0219169083151502179055505f601060026101000a81548160ff021916908315150217905550600160125f6101000a81548160ff021916908315150217905550348015620000a5575f80fd5b506040518060400160405280600681526020017f534841444f5700000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5348445700000000000000000000000000000000000000000000000000000000815250816003908162000123919062000eb5565b50806004908162000135919062000eb5565b5050505f620001496200098060201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f736bded42c6da8fbf0d2ba55b2fa120c5e0c8d789190506001601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f7919062000ffe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000383919062000ffe565b6040518363ffffffff1660e01b8152600401620003a29291906200103f565b6020604051808303815f875af1158015620003bf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003e5919062000ffe565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601f5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004ce60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200098760201b60201c565b5f805f600390505f805f600390505f6b033b2e3c9fd0803ce800000090506103e8601482620004fe919062001097565b6200050a91906200110e565b6009819055506103e8601e8262000522919062001097565b6200052e91906200110e565b600a819055508660148190555085601581905550846016819055506016546015546014546200055e919062001145565b6200056a919062001145565b601381905550836018819055508260198190555081601a81905550601a546019546018546200059a919062001145565b620005a6919062001145565b601781905550732fa16fc3e05f8df97ac729032992f63dada4b22060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073045625111590c0210a612c904d1000951822bdab60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601e5f6200066962000a2560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601e5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601e5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601e5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601f5f620007ef62000a2560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601f5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601f5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601f5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000972338262000a4d60201b60201c565b505050505050505062001297565b5f33905090565b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000abe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab590620011dd565b60405180910390fd5b62000ad15f838362000bea60201b60201c565b62000ae88160025462000bef60201b90919060201c565b60028190555062000b3f815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205462000bef60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bde91906200120e565b60405180910390a35050565b505050565b5f80828462000bff919062001145565b90508381101562000c47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c3e9062001277565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000ccd57607f821691505b60208210810362000ce35762000ce262000c88565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000d477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000d0a565b62000d53868362000d0a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000d9d62000d9762000d918462000d6b565b62000d74565b62000d6b565b9050919050565b5f819050919050565b62000db88362000d7d565b62000dd062000dc78262000da4565b84845462000d16565b825550505050565b5f90565b62000de662000dd8565b62000df381848462000dad565b505050565b5b8181101562000e1a5762000e0e5f8262000ddc565b60018101905062000df9565b5050565b601f82111562000e695762000e338162000ce9565b62000e3e8462000cfb565b8101602085101562000e4e578190505b62000e6662000e5d8562000cfb565b83018262000df8565b50505b505050565b5f82821c905092915050565b5f62000e8b5f198460080262000e6e565b1980831691505092915050565b5f62000ea5838362000e7a565b9150826002028217905092915050565b62000ec08262000c51565b67ffffffffffffffff81111562000edc5762000edb62000c5b565b5b62000ee8825462000cb5565b62000ef582828562000e1e565b5f60209050601f83116001811462000f2b575f841562000f16578287015190505b62000f22858262000e98565b86555062000f91565b601f19841662000f3b8662000ce9565b5f5b8281101562000f645784890151825560018201915060208501945060208101905062000f3d565b8683101562000f84578489015162000f80601f89168262000e7a565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000fc88262000f9d565b9050919050565b62000fda8162000fbc565b811462000fe5575f80fd5b50565b5f8151905062000ff88162000fcf565b92915050565b5f6020828403121562001016576200101562000f99565b5b5f620010258482850162000fe8565b91505092915050565b620010398162000fbc565b82525050565b5f604082019050620010545f8301856200102e565b6200106360208301846200102e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620010a38262000d6b565b9150620010b08362000d6b565b9250828202620010c08162000d6b565b91508282048414831517620010da57620010d96200106a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200111a8262000d6b565b9150620011278362000d6b565b9250826200113a5762001139620010e1565b5b828204905092915050565b5f620011518262000d6b565b91506200115e8362000d6b565b92508282019050808211156200117957620011786200106a565b5b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620011c5601f836200117f565b9150620011d2826200118f565b602082019050919050565b5f6020820190508181035f830152620011f681620011b7565b9050919050565b620012088162000d6b565b82525050565b5f602082019050620012235f830184620011fd565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6200125f601b836200117f565b91506200126c8262001229565b602082019050919050565b5f6020820190508181035f830152620012908162001251565b9050919050565b60805161422a620012da5f395f8181610b5001528181611b9001528181612fbd0152818161309c015281816130c3015281816131590152613180015261422a5ff3fe608060405260043610610280575f3560e01c80637bce5a041161014e578063a4c82a00116100c0578063dd62ed3e11610079578063dd62ed3e14610995578063e884f260146109d1578063f11a24d3146109fb578063f2fde38b14610a25578063f637434214610a4d578063f8b45b0514610a7757610287565b8063a4c82a0014610875578063a9059cbb1461089f578063b62496f5146108db578063bbc0c74214610917578063c876d0b914610941578063d85ba0631461096b57610287565b80639213691311610112578063921369131461076757806395d89b41146107915780639c3b4fdc146107bb5780639fccce32146107e5578063a0d82dc51461080f578063a457c2d71461083957610287565b80637bce5a04146106a95780638a8c523c146106d35780638c0b5e22146106e95780638da5cb5b146107135780638ea5220f1461073d57610287565b8063313ce567116101f25780636a486a8e116101ab5780636a486a8e146105af5780636ddd1713146105d957806370a0823114610603578063715018a61461063f578063751039fc1461065557806375f0a8741461067f57610287565b8063313ce5671461047d57806339509351146104a757806349bd5a5e146104e35780634a62bb651461050d5780634fbee19314610537578063563912bd1461057357610287565b80631a8145bb116102445780631a8145bb1461036f5780631f3fed8f1461039957806323b872dd146103c357806327c8f835146103ff5780632c3e486c146104295780632e82f1a01461045357610287565b806306fdde031461028b578063095ea7b3146102b55780631694505e146102f157806318160ddd1461031b578063199ffc721461034557610287565b3661028757005b5f80fd5b348015610296575f80fd5b5061029f610aa1565b6040516102ac9190613317565b60405180910390f35b3480156102c0575f80fd5b506102db60048036038101906102d691906133c8565b610b31565b6040516102e89190613420565b60405180910390f35b3480156102fc575f80fd5b50610305610b4e565b6040516103129190613494565b60405180910390f35b348015610326575f80fd5b5061032f610b72565b60405161033c91906134bc565b60405180910390f35b348015610350575f80fd5b50610359610b7b565b60405161036691906134bc565b60405180910390f35b34801561037a575f80fd5b50610383610b81565b60405161039091906134bc565b60405180910390f35b3480156103a4575f80fd5b506103ad610b87565b6040516103ba91906134bc565b60405180910390f35b3480156103ce575f80fd5b506103e960048036038101906103e491906134d5565b610b8d565b6040516103f69190613420565b60405180910390f35b34801561040a575f80fd5b50610413610c61565b6040516104209190613534565b60405180910390f35b348015610434575f80fd5b5061043d610c67565b60405161044a91906134bc565b60405180910390f35b34801561045e575f80fd5b50610467610c6d565b6040516104749190613420565b60405180910390f35b348015610488575f80fd5b50610491610c7f565b60405161049e9190613568565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c891906133c8565b610c87565b6040516104da9190613420565b60405180910390f35b3480156104ee575f80fd5b506104f7610d35565b6040516105049190613534565b60405180910390f35b348015610518575f80fd5b50610521610d5a565b60405161052e9190613420565b60405180910390f35b348015610542575f80fd5b5061055d60048036038101906105589190613581565b610d6c565b60405161056a9190613420565b60405180910390f35b34801561057e575f80fd5b5061059960048036038101906105949190613581565b610dbe565b6040516105a69190613420565b60405180910390f35b3480156105ba575f80fd5b506105c3610ddb565b6040516105d091906134bc565b60405180910390f35b3480156105e4575f80fd5b506105ed610de1565b6040516105fa9190613420565b60405180910390f35b34801561060e575f80fd5b5061062960048036038101906106249190613581565b610df4565b60405161063691906134bc565b60405180910390f35b34801561064a575f80fd5b50610653610e39565b005b348015610660575f80fd5b50610669610f8c565b6040516106769190613420565b60405180910390f35b34801561068a575f80fd5b50610693611043565b6040516106a09190613534565b60405180910390f35b3480156106b4575f80fd5b506106bd611068565b6040516106ca91906134bc565b60405180910390f35b3480156106de575f80fd5b506106e761106e565b005b3480156106f4575f80fd5b506106fd61113c565b60405161070a91906134bc565b60405180910390f35b34801561071e575f80fd5b50610727611142565b6040516107349190613534565b60405180910390f35b348015610748575f80fd5b5061075161116a565b60405161075e9190613534565b60405180910390f35b348015610772575f80fd5b5061077b61118f565b60405161078891906134bc565b60405180910390f35b34801561079c575f80fd5b506107a5611195565b6040516107b29190613317565b60405180910390f35b3480156107c6575f80fd5b506107cf611225565b6040516107dc91906134bc565b60405180910390f35b3480156107f0575f80fd5b506107f961122b565b60405161080691906134bc565b60405180910390f35b34801561081a575f80fd5b50610823611231565b60405161083091906134bc565b60405180910390f35b348015610844575f80fd5b5061085f600480360381019061085a91906133c8565b611237565b60405161086c9190613420565b60405180910390f35b348015610880575f80fd5b506108896112ff565b60405161089691906134bc565b60405180910390f35b3480156108aa575f80fd5b506108c560048036038101906108c091906133c8565b611305565b6040516108d29190613420565b60405180910390f35b3480156108e6575f80fd5b5061090160048036038101906108fc9190613581565b611322565b60405161090e9190613420565b60405180910390f35b348015610922575f80fd5b5061092b61133e565b6040516109389190613420565b60405180910390f35b34801561094c575f80fd5b50610955611351565b6040516109629190613420565b60405180910390f35b348015610976575f80fd5b5061097f611363565b60405161098c91906134bc565b60405180910390f35b3480156109a0575f80fd5b506109bb60048036038101906109b691906135ac565b611369565b6040516109c891906134bc565b60405180910390f35b3480156109dc575f80fd5b506109e56113eb565b6040516109f29190613420565b60405180910390f35b348015610a06575f80fd5b50610a0f6114a2565b604051610a1c91906134bc565b60405180910390f35b348015610a30575f80fd5b50610a4b6004803603810190610a469190613581565b6114a8565b005b348015610a58575f80fd5b50610a6161166a565b604051610a6e91906134bc565b60405180910390f35b348015610a82575f80fd5b50610a8b611670565b604051610a9891906134bc565b60405180910390f35b606060038054610ab090613617565b80601f0160208091040260200160405190810160405280929190818152602001828054610adc90613617565b8015610b275780601f10610afe57610100808354040283529160200191610b27565b820191905f5260205f20905b815481529060010190602001808311610b0a57829003601f168201915b5050505050905090565b5f610b44610b3d611676565b848461167d565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b600c5481565b601c5481565b601b5481565b5f610b99848484611840565b610c5684610ba5611676565b610c51856040518060600160405280602881526020016141a86028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c08611676565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126719092919063ffffffff16565b61167d565b600190509392505050565b61dead81565b600e5481565b600d5f9054906101000a900460ff1681565b5f6012905090565b5f610d2b610c93611676565b84610d268560015f610ca3611676565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126d390919063ffffffff16565b61167d565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105f9054906101000a900460ff1681565b5f601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b601f602052805f5260405f205f915054906101000a900460ff1681565b60175481565b601060029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e41611676565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec690613691565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f610f95611676565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a90613691565b60405180910390fd5b5f60105f6101000a81548160ff0219169083151502179055506001905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b611076611676565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90613691565b60405180910390fd5b6001601060016101000a81548160ff0219169083151502179055506001601060026101000a81548160ff021916908315150217905550565b60095481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b6060600480546111a490613617565b80601f01602080910402602001604051908101604052809291908181526020018280546111d090613617565b801561121b5780601f106111f25761010080835404028352916020019161121b565b820191905f5260205f20905b8154815290600101906020018083116111fe57829003601f168201915b5050505050905090565b60165481565b601d5481565b601a5481565b5f6112f5611243611676565b846112f0856040518060600160405280602581526020016141d06025913960015f61126c611676565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126719092919063ffffffff16565b61167d565b6001905092915050565b600f5481565b5f611318611311611676565b8484611840565b6001905092915050565b60208052805f5260405f205f915054906101000a900460ff1681565b601060019054906101000a900460ff1681565b60125f9054906101000a900460ff1681565b60135481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f6113f4611676565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147990613691565b60405180910390fd5b5f60125f6101000a81548160ff0219169083151502179055506001905090565b60155481565b6114b0611676565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590613691565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a39061371f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b600a5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e2906137ad565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611759576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117509061383b565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161183391906134bc565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a5906138c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361191c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191390613957565b60405180910390fd5b5f81036119335761192e83835f612730565b61266c565b60105f9054906101000a900460ff1615611fdb5761194f611142565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119bd575061198d611142565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156119f557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2f575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a485750600660149054906101000a900460ff16155b15611fda57601060019054906101000a900460ff16611b3c57601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611afc5750601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b32906139bf565b60405180910390fd5b5b60125f9054906101000a900460ff1615611d0057611b58611142565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611bdf57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c38575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cff574360115f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb390613a73565b60405180910390fd5b4360115f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611d9d5750601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e4457600954811115611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde90613b01565b60405180910390fd5b600a54611df383610df4565b82611dfe9190613b4c565b1115611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3690613bc9565b60405180910390fd5b611fd9565b60205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ee15750601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f3057600954811115611f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2290613c57565b60405180910390fd5b611fd8565b601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611fd757600a54611f8a83610df4565b82611f959190613b4c565b1115611fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcd90613bc9565b60405180910390fd5b5b5b5b5b5b601060029054906101000a900460ff1680156120045750600660149054906101000a900460ff16155b8015612057575060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120aa5750601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120fd5750601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612140576001600660146101000a81548160ff0219169083151502179055506121256129b9565b5f600660146101000a81548160ff0219169083151502179055505b600660149054906101000a900460ff161580156121a3575060205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156121ba5750600d5f9054906101000a900460ff165b80156121f957506121c9611142565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561224b5750601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561226f576001600b5461225f9190613c75565b600c8190555061226d612c55565b505b5f600660149054906101000a900460ff16159050601e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061231e5750601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612327575f90505b5f601e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156123c4575060205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156123f6576123de600b5484612e1290919063ffffffff16565b601c5f8282546123ee9190613b4c565b925050819055505b811561265e5760205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561245357505f601754115b1561251d57612480606461247260175486612e1290919063ffffffff16565b612e8990919063ffffffff16565b9050601754601954826124939190613ca8565b61249d9190613d16565b601c5f8282546124ad9190613b4c565b92505081905550601754601a54826124c59190613ca8565b6124cf9190613d16565b601d5f8282546124df9190613b4c565b92505081905550601754601854826124f79190613ca8565b6125019190613d16565b601b5f8282546125119190613b4c565b9250508190555061263b565b60205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561257457505f601354115b1561263a576125a1606461259360135486612e1290919063ffffffff16565b612e8990919063ffffffff16565b9050601354601554826125b49190613ca8565b6125be9190613d16565b601c5f8282546125ce9190613b4c565b92505081905550601354601654826125e69190613ca8565b6125f09190613d16565b601d5f8282546126009190613b4c565b92505081905550601354601454826126189190613ca8565b6126229190613d16565b601b5f8282546126329190613b4c565b925050819055505b5b5f81111561264f5761264e853083612730565b5b808361265b9190613c75565b92505b612669858585612730565b50505b505050565b5f8383111582906126b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126af9190613317565b60405180910390fd5b505f83856126c69190613c75565b9050809150509392505050565b5f8082846126e19190613b4c565b905083811015612726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271d90613d90565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361279e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612795906138c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361280c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280390613957565b60405180910390fd5b612817838383612ed2565b61288081604051806060016040528060268152602001614182602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126719092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061290f815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126d390919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516129ac91906134bc565b60405180910390a3505050565b5f6129c330610df4565b90505f601d54601b54601c546129d99190613b4c565b6129e39190613b4c565b90505f8082036129f557505050612c53565b5f600283601c5486612a079190613ca8565b612a119190613d16565b612a1b9190613d16565b90505f612a318286612ed790919063ffffffff16565b90505f479050612a4082612f20565b5f612a548247612ed790919063ffffffff16565b90505f612a7e87612a70601b5485612e1290919063ffffffff16565b612e8990919063ffffffff16565b90505f612aa888612a9a601d5486612e1290919063ffffffff16565b612e8990919063ffffffff16565b90505f818385612ab89190613c75565b612ac29190613c75565b90505f601c819055505f601b819055505f601d8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612b1e90613ddb565b5f6040518083038185875af1925050503d805f8114612b58576040519150601f19603f3d011682016040523d82523d5f602084013e612b5d565b606091505b5050809850505f87118015612b7157505f81115b15612bbe57612b808782613153565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601c54604051612bb593929190613def565b60405180910390a15b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612c0390613ddb565b5f6040518083038185875af1925050503d805f8114612c3d576040519150601f19603f3d011682016040523d82523d5f602084013e612c42565b606091505b505080985050505050505050505050505b565b5f42600f819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401612cb89190613534565b602060405180830381865afa158015612cd3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cf79190613e38565b90505f612d23600b54612d15600c5485612e1290919063ffffffff16565b612e8990919063ffffffff16565b90505f811115612d5c57612d5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83612730565b5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612dc6575f80fd5b505af1158015612dd8573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b5f808303612e22575f9050612e83565b5f8284612e2f9190613ca8565b9050828482612e3e9190613d16565b14612e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7590613ed3565b60405180910390fd5b809150505b92915050565b5f612eca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061322c565b905092915050565b505050565b5f612f1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612671565b905092915050565b5f600267ffffffffffffffff811115612f3c57612f3b613ef1565b5b604051908082528060200260200182016040528015612f6a5781602001602082028036833780820191505090505b50905030815f81518110612f8157612f80613f1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613024573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130489190613f5f565b8160018151811061305c5761305b613f1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130c1307f00000000000000000000000000000000000000000000000000000000000000008461167d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161312295949392919061407a565b5f604051808303815f87803b158015613139575f80fd5b505af115801561314b573d5f803e3d5ffd5b505050505050565b61317e307f00000000000000000000000000000000000000000000000000000000000000008461167d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b81526004016131e4969594939291906140d2565b60606040518083038185885af1158015613200573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906132259190614131565b5050505050565b5f8083118290613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132699190613317565b60405180910390fd5b505f83856132809190613d16565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156132c45780820151818401526020810190506132a9565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6132e98261328d565b6132f38185613297565b93506133038185602086016132a7565b61330c816132cf565b840191505092915050565b5f6020820190508181035f83015261332f81846132df565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6133648261333b565b9050919050565b6133748161335a565b811461337e575f80fd5b50565b5f8135905061338f8161336b565b92915050565b5f819050919050565b6133a781613395565b81146133b1575f80fd5b50565b5f813590506133c28161339e565b92915050565b5f80604083850312156133de576133dd613337565b5b5f6133eb85828601613381565b92505060206133fc858286016133b4565b9150509250929050565b5f8115159050919050565b61341a81613406565b82525050565b5f6020820190506134335f830184613411565b92915050565b5f819050919050565b5f61345c6134576134528461333b565b613439565b61333b565b9050919050565b5f61346d82613442565b9050919050565b5f61347e82613463565b9050919050565b61348e81613474565b82525050565b5f6020820190506134a75f830184613485565b92915050565b6134b681613395565b82525050565b5f6020820190506134cf5f8301846134ad565b92915050565b5f805f606084860312156134ec576134eb613337565b5b5f6134f986828701613381565b935050602061350a86828701613381565b925050604061351b868287016133b4565b9150509250925092565b61352e8161335a565b82525050565b5f6020820190506135475f830184613525565b92915050565b5f60ff82169050919050565b6135628161354d565b82525050565b5f60208201905061357b5f830184613559565b92915050565b5f6020828403121561359657613595613337565b5b5f6135a384828501613381565b91505092915050565b5f80604083850312156135c2576135c1613337565b5b5f6135cf85828601613381565b92505060206135e085828601613381565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061362e57607f821691505b602082108103613641576136406135ea565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61367b602083613297565b915061368682613647565b602082019050919050565b5f6020820190508181035f8301526136a88161366f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613709602683613297565b9150613714826136af565b604082019050919050565b5f6020820190508181035f830152613736816136fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613797602483613297565b91506137a28261373d565b604082019050919050565b5f6020820190508181035f8301526137c48161378b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613825602283613297565b9150613830826137cb565b604082019050919050565b5f6020820190508181035f83015261385281613819565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6138b3602583613297565b91506138be82613859565b604082019050919050565b5f6020820190508181035f8301526138e0816138a7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613941602383613297565b915061394c826138e7565b604082019050919050565b5f6020820190508181035f83015261396e81613935565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6139a9601683613297565b91506139b482613975565b602082019050919050565b5f6020820190508181035f8301526139d68161399d565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613a5d604983613297565b9150613a68826139dd565b606082019050919050565b5f6020820190508181035f830152613a8a81613a51565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785478416d6f756e742e0000000000000000000000000000000000000000602082015250565b5f613aeb602c83613297565b9150613af682613a91565b604082019050919050565b5f6020820190508181035f830152613b1881613adf565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613b5682613395565b9150613b6183613395565b9250828201905080821115613b7957613b78613b1f565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613bb3601383613297565b9150613bbe82613b7f565b602082019050919050565b5f6020820190508181035f830152613be081613ba7565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785478416d6f756e742e00000000000000000000000000000000000000602082015250565b5f613c41602d83613297565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b5f613c7f82613395565b9150613c8a83613395565b9250828203905081811115613ca257613ca1613b1f565b5b92915050565b5f613cb282613395565b9150613cbd83613395565b9250828202613ccb81613395565b91508282048414831517613ce257613ce1613b1f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613d2082613395565b9150613d2b83613395565b925082613d3b57613d3a613ce9565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d7a601b83613297565b9150613d8582613d46565b602082019050919050565b5f6020820190508181035f830152613da781613d6e565b9050919050565b5f81905092915050565b50565b5f613dc65f83613dae565b9150613dd182613db8565b5f82019050919050565b5f613de582613dbb565b9150819050919050565b5f606082019050613e025f8301866134ad565b613e0f60208301856134ad565b613e1c60408301846134ad565b949350505050565b5f81519050613e328161339e565b92915050565b5f60208284031215613e4d57613e4c613337565b5b5f613e5a84828501613e24565b91505092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ebd602183613297565b9150613ec882613e63565b604082019050919050565b5f6020820190508181035f830152613eea81613eb1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613f598161336b565b92915050565b5f60208284031215613f7457613f73613337565b5b5f613f8184828501613f4b565b91505092915050565b5f819050919050565b5f613fad613fa8613fa384613f8a565b613439565b613395565b9050919050565b613fbd81613f93565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613ff58161335a565b82525050565b5f6140068383613fec565b60208301905092915050565b5f602082019050919050565b5f61402882613fc3565b6140328185613fcd565b935061403d83613fdd565b805f5b8381101561406d5781516140548882613ffb565b975061405f83614012565b925050600181019050614040565b5085935050505092915050565b5f60a08201905061408d5f8301886134ad565b61409a6020830187613fb4565b81810360408301526140ac818661401e565b90506140bb6060830185613525565b6140c860808301846134ad565b9695505050505050565b5f60c0820190506140e55f830189613525565b6140f260208301886134ad565b6140ff6040830187613fb4565b61410c6060830186613fb4565b6141196080830185613525565b61412660a08301846134ad565b979650505050505050565b5f805f6060848603121561414857614147613337565b5b5f61415586828701613e24565b935050602061416686828701613e24565b925050604061417786828701613e24565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220bec43544d3a3c9415f6d5eb5c6fa80521e1ab0db3225583aa382e38eac55e9fc64736f6c63430008180033