Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
110,000,000,000 GON
Holders
17
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,090,562,240.785767677 GONValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HunterXHunter
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-23 */ /** // TG: https://t.me/HunterXHunterPortal // TW: https://twitter.com/HunterXHuntERC_ // Web: https://hunterxhunter.vip ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⢀⣴⣆⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⢀⣾⣿⣿⣄⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⠁⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⢠⣿⣿⣿⣿⣿⣆⠀⠀⠹⣿⣿⣿⣿⣿⠏⢀⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠘⣿⣿⣿⣿⣿⣿⣿⡿⠁⢠⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⢻⣿⣿⣿⡿⠀⢸⣿⣿⣿⣿⠟⠁⢀⣠⣾⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣄⠘⣿⣿⢻⣿⣿⣿⠁⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⢻⣿⣿⡇⡆⢸⣿⣿⡿⠋⢀⣴⣿⣿⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⣧⠘⣿⡞⣿⣿⠇⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⢻⣿⢰⣇⢸⣿⠟⢀⣴⣿⣿⣿⣿⡏⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⡇⠀⣿⣿⣧⠸⣇⢻⡟⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠋⣾⣿⢸⢏⣴⣿⣿⣿⣿⣿⣿⡇⠀⣸⣿⣿⣿⣿⣿⣿⠟⠉⣰⣿ ⣿⣿⣿⣿⣧⠹⣿⣿⣿⡇⠀⣿⣿⣿⣇⢹⠸⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣿⣿⣴⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⣿⣿⣿⣿⡿⠋⠀⠀⣰⣿⣿ ⣟⢿⣿⣿⣿⡄⠙⣿⣿⠃⠀⣿⣿⣿⣿⡆⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢰⣿⡿⠟⠁⠀⠀⠀⣰⣿⣿⣿ ⣿⡆⠻⣿⣿⣇⠀⠘⣿⠀⠀⣿⣿⣿⣿⣿⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠜⠋⠀⣀⣴⡞⠁⣼⣿⣿⣿⣿ ⣿⣿⡄⠘⢿⣿⡀⢦⠘⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢀⣴⣾⣿⠏⠀⣼⣿⣿⡿⠟⣿ ⣿⣿⣷⡀⠀⠻⡇⢸⣧⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣃⣴⣿⣿⣿⠏⠀⣼⣿⠟⠋⣠⣾⣿ ⣿⣿⣿⣧⠀⡀⠑⠈⣿⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⢀⡼⠋⠀⢀⣴⣿⣿⣿ ⣿⣿⣿⣿⣇⢱⡄⠀⢿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠈⣀⠄⢠⣾⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⡆⢿⣄⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⣠⡾⠃⣰⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⡘⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣡⣾⡟⢁⣼⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣧⢹⣿⣿⣿⣿⣿⠻⢿⣿⣯⠛⢿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⢡⣿⠿⠛⢉⣴⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣆⢿⣿⣿⣟⠿⣧⠀⠉⠻⣧⠀⠙⠻⡌⠻⣿⣿⣿⣿⣿⡿⠋⡱⠟⠉⠀⠀⠉⠁⠀⠔⠛⠋⣩⣽⣿⣿⣿⣿⣿⠏⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⡜⣿⣿⠿⡄⠈⠁⠀⠀⠀⠁⠀⠀⠀⠀⠀⠙⢿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣾⣿⣿⣿⣿⣿⣿⠏⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣷⢸⣿⡷⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣙⣻⣿⣿⣿⡏⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠻⠂⢀⠔⠁⠑⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠖⠉⠢⠀⠙⠻⣿⣿⣿⣟⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⠋⠙⠐⡀⠀⠀⢀⡔⠋⠙⢳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣗⠢⣄⠀⠀⠀⠘⢿⠟⠉⢀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡇⠄⠈⠂⢡⠀⠀⡎⠀⢰⣤⢼⣿⡿⣦⠄⠀⠀⠀⠀⠀⠀⠀⠪⢏⠀⢸⡿⢿⡇⠈⢇⠀⠀⠀⠘⠀⡄⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⢀⠈⠀⡀⠀⠇⠀⠈⠁⢸⣿⡇⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠩⣿⡇⠀⡅⠀⢸⠀⠀⠀⠀⠂⠀⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣇⠀⠘⠀⠀⠐⠀⠐⡀⠀⠡⡀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠙⠁⡠⠀⠀⠌⠀⠀⠀⠀⠀⠀⡄⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠈⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠒⠊⠀⠀⠀⠀⠀⠀⠠⠀⠐⢊⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣾⡿⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠃⠉⠛⢿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⣀⣠⣴⣶⣿⠿⠛⠁⠀⡈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠁⠀⢀⠀⠀⠀⠈⠙⠛⠿⣿⣷⡄⣠⣴⣾⣿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠁⠀⠀⠀⠈⠙⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠈⠠⠀⠀⠀⠀⠀⠀⠘⣿⣧⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⠛⢿⣿⣿⣿⣿ ⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠸⣿⣿⣿⣿ ⣿⣿⠃⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠃⠀⠀⢿⣿⣿⣿ ⣿⡿⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠁⠀⠀⠀⢸⣿⣿⣿ ⣿⣇⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸⣿⣟⣿⣿⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣄⣀⣀⣀⣀⣈⣿⣿⣿ */ /** */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, address referrer, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract HunterXHunter is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = unicode"Hunter X Hunter"; string private constant _symbol = unicode"GON"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 110_000_000_000 * 10**_decimals; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 5; uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0xe02ac04Db181533586C387Bdaef0a602a6B9b4D0); address payable private _marketingAddress = payable(0xe02ac04Db181533586C387Bdaef0a602a6B9b4D0); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 2 * (_tTotal/100); uint256 public _maxWalletSize = 2 * (_tTotal/100); uint256 public _swapTokensAtAmount = 20 *(_tTotal/1000); event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), 0x0000000000000000000000000000000000000000, block.timestamp ); } function sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } //Camelot Dex Router 0xc873fEcbd354f5A56E00E710B90EF4201db2448d function setTrading(bool _tradingOpen) public onlyOwner { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function setMaxAll() public onlyOwner { _maxWalletSize = _tTotal; _maxTxAmount = _tTotal; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setMaxAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526009600a62000014919062000760565b64199c82cc00620000269190620007b1565b60001962000035919062000841565b60001962000044919062000879565b600655600060085560006009556000600a556005600b55600a54600c55600b54600d55600c54600e55600d54600f5573e02ac04db181533586c387bdaef0a602a6b9b4d0601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e02ac04db181533586c387bdaef0a602a6b9b4d0601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555060646009600a6200017f919062000760565b64199c82cc00620001919190620007b1565b6200019d9190620008b4565b6002620001ab9190620007b1565b60165560646009600a620001c0919062000760565b64199c82cc00620001d29190620007b1565b620001de9190620008b4565b6002620001ec9190620007b1565b6017556103e86009600a62000202919062000760565b64199c82cc00620002149190620007b1565b620002209190620008b4565b60146200022e9190620007b1565b6018553480156200023e57600080fd5b506000620002516200059560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620003066200059560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200035a6200059d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005076200059560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000566919062000760565b64199c82cc00620005789190620007b1565b604051620005879190620008fd565b60405180910390a36200091a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000654578086048111156200062c576200062b620005c6565b5b60018516156200063c5780820291505b80810290506200064c85620005f5565b94506200060c565b94509492505050565b6000826200066f576001905062000742565b816200067f576000905062000742565b8160018114620006985760028114620006a357620006d9565b600191505062000742565b60ff841115620006b857620006b7620005c6565b5b8360020a915084821115620006d257620006d1620005c6565b5b5062000742565b5060208310610133831016604e8410600b8410161715620007135782820a9050838111156200070d576200070c620005c6565b5b62000742565b62000722848484600162000602565b925090508184048111156200073c576200073b620005c6565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200076d8262000749565b91506200077a8362000753565b9250620007a97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200065d565b905092915050565b6000620007be8262000749565b9150620007cb8362000749565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620008075762000806620005c6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200084e8262000749565b91506200085b8362000749565b9250826200086e576200086d62000812565b5b828206905092915050565b6000620008868262000749565b9150620008938362000749565b925082821015620008a957620008a8620005c6565b5b828203905092915050565b6000620008c18262000749565b9150620008ce8362000749565b925082620008e157620008e062000812565b5b828204905092915050565b620008f78162000749565b82525050565b6000602082019050620009146000830184620008ec565b92915050565b613cab806200092a6000396000f3fe6080604052600436106101bb5760003560e01c80637d1db4a5116100ec578063a2a957bb1161008a578063c3c8cd8011610064578063c3c8cd80146105f5578063dd62ed3e1461060c578063ea1644d514610649578063f2fde38b14610672576101c2565b8063a2a957bb14610552578063a9059cbb1461057b578063bfd79284146105b8576101c2565b80638f70ccf7116100c65780638f70ccf7146104aa5780638f9a55c0146104d357806395d89b41146104fe57806398a5c31514610529576101c2565b80637d1db4a5146104175780637f2feddc146104425780638da5cb5b1461047f576101c2565b806341c2bd55116101595780636fc3eaec116101335780636fc3eaec1461038357806370a082311461039a578063715018a6146103d757806374010ece146103ee576101c2565b806341c2bd551461031857806349bd5a5e1461032f5780636d8aa8f81461035a576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632fd689e3146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e99190612bc5565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612c80565b6106d8565b6040516102269190612cdb565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190612d55565b60405180910390f35b34801561026657600080fd5b5061026f61071c565b60405161027c9190612d7f565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612d9a565b610741565b6040516102b99190612cdb565b60405180910390f35b3480156102ce57600080fd5b506102d761081a565b6040516102e49190612d7f565b60405180910390f35b3480156102f957600080fd5b50610302610820565b60405161030f9190612e09565b60405180910390f35b34801561032457600080fd5b5061032d610829565b005b34801561033b57600080fd5b50610344610908565b6040516103519190612e33565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190612e7a565b61092e565b005b34801561038f57600080fd5b506103986109e0565b005b3480156103a657600080fd5b506103c160048036038101906103bc9190612ea7565b610ab1565b6040516103ce9190612d7f565b60405180910390f35b3480156103e357600080fd5b506103ec610b02565b005b3480156103fa57600080fd5b5061041560048036038101906104109190612ed4565b610c55565b005b34801561042357600080fd5b5061042c610cf4565b6040516104399190612d7f565b60405180910390f35b34801561044e57600080fd5b5061046960048036038101906104649190612ea7565b610cfa565b6040516104769190612d7f565b60405180910390f35b34801561048b57600080fd5b50610494610d12565b6040516104a19190612e33565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190612e7a565b610d3b565b005b3480156104df57600080fd5b506104e861100f565b6040516104f59190612d7f565b60405180910390f35b34801561050a57600080fd5b50610513611015565b6040516105209190612bc5565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b9190612ed4565b611052565b005b34801561055e57600080fd5b5061057960048036038101906105749190612f01565b6110f1565b005b34801561058757600080fd5b506105a2600480360381019061059d9190612c80565b6111a8565b6040516105af9190612cdb565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190612ea7565b6111c6565b6040516105ec9190612cdb565b60405180910390f35b34801561060157600080fd5b5061060a6111e6565b005b34801561061857600080fd5b50610633600480360381019061062e9190612f68565b6112bf565b6040516106409190612d7f565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190612ed4565b611346565b005b34801561067e57600080fd5b5061069960048036038101906106949190612ea7565b6113e5565b005b60606040518060400160405280600f81526020017f48756e74657220582048756e7465720000000000000000000000000000000000815250905090565b60006106ec6106e56115a7565b84846115af565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a61072c919061310a565b64199c82cc0061073c9190613155565b905090565b600061074e84848461177a565b61080f8461075a6115a7565b61080a85604051806060016040528060288152602001613c4e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107c06115a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fff9092919063ffffffff16565b6115af565b600190509392505050565b60185481565b60006009905090565b6108316115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b5906131fb565b60405180910390fd5b6009600a6108cc919061310a565b64199c82cc006108dc9190613155565b6017819055506009600a6108f0919061310a565b64199c82cc006109009190613155565b601681905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109366115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba906131fb565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a216115a7565b73ffffffffffffffffffffffffffffffffffffffff161480610a975750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a7f6115a7565b73ffffffffffffffffffffffffffffffffffffffff16145b610aa057600080fd5b6000479050610aae81612063565b50565b6000610afb600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120cf565b9050919050565b610b0a6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8e906131fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c5d6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce1906131fb565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d436115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc7906131fb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea89190613230565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0a57600080fd5b505afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190613230565b6040518363ffffffff1660e01b8152600401610f5f92919061325d565b602060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb19190613230565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560146101000a81548160ff0219169083151502179055505050565b60175481565b60606040518060400160405280600381526020017f474f4e0000000000000000000000000000000000000000000000000000000000815250905090565b61105a6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110de906131fb565b60405180910390fd5b8060188190555050565b6110f96115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d906131fb565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b60006111bc6111b56115a7565b848461177a565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112276115a7565b73ffffffffffffffffffffffffffffffffffffffff16148061129d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112856115a7565b73ffffffffffffffffffffffffffffffffffffffff16145b6112a657600080fd5b60006112b130610ab1565b90506112bc8161213d565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61134e6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d2906131fb565b60405180910390fd5b8060178190555050565b6113ed6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611471906131fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906132f8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561161f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116169061338a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561168f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116869061341c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161176d9190612d7f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e1906134ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561185a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185190613540565b60405180910390fd5b6000811161189d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611894906135d2565b60405180910390fd5b6118a5610d12565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561191357506118e3610d12565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cfe57601560149054906101000a900460ff166119a257611934610d12565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199890613664565b60405180910390fd5b5b6016548111156119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de906136d0565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a8b5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac190613762565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b775760175481611b2c84610ab1565b611b369190613782565b10611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061384a565b60405180910390fd5b5b6000611b8230610ab1565b9050600060185482101590506016548210611b9d5760165491505b808015611bb5575060158054906101000a900460ff16155b8015611c0f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c275750601560169054906101000a900460ff165b8015611c7d5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611cd35750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cfb57611ce18261213d565b60004790506000811115611cf957611cf847612063565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611da55750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e585750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e575750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e665760009050611fed565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f115750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f2957600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fd45750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fec57600a54600c81905550600b54600d819055505b5b611ff9848484846123c6565b50505050565b6000838311158290612047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203e9190612bc5565b60405180910390fd5b5060008385612056919061386a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120cb573d6000803e3d6000fd5b5050565b6000600654821115612116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210d90613910565b60405180910390fd5b60006121206123f3565b9050612135818461241e90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561217457612173613930565b5b6040519080825280602002602001820160405280156121a25781602001602082028036833780820191505090505b50905030816000815181106121ba576121b961395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561225c57600080fd5b505afa158015612270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122949190613230565b816001815181106122a8576122a761395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061230f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115af565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166352aa4c2283600084306000426040518763ffffffff1660e01b815260040161237696959493929190613a87565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806123d4576123d3612468565b5b6123df8484846124ab565b806123ed576123ec612676565b5b50505050565b600080600061240061268a565b91509150612417818361241e90919063ffffffff16565b9250505090565b600061246083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612728565b905092915050565b6000600c5414801561247c57506000600d54145b15612486576124a9565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806124bd8761278b565b95509550955095509550955061251b86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125b085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125fc8161289b565b6126068483612958565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126639190612d7f565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600654905060006009600a6126a4919061310a565b64199c82cc006126b49190613155565b90506126e86009600a6126c7919061310a565b64199c82cc006126d79190613155565b60065461241e90919063ffffffff16565b82101561271b576006546009600a612700919061310a565b64199c82cc006127109190613155565b935093505050612724565b81819350935050505b9091565b6000808311829061276f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127669190612bc5565b60405180910390fd5b506000838561277e9190613b1e565b9050809150509392505050565b60008060008060008060008060006127a88a600c54600d54612992565b92509250925060006127b86123f3565b905060008060006127cb8e878787612a28565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061283583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fff565b905092915050565b600080828461284c9190613782565b905083811015612891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288890613b9b565b60405180910390fd5b8091505092915050565b60006128a56123f3565b905060006128bc8284612ab190919063ffffffff16565b905061291081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61296d826006546127f390919063ffffffff16565b6006819055506129888160075461283d90919063ffffffff16565b6007819055505050565b6000806000806129be60646129b0888a612ab190919063ffffffff16565b61241e90919063ffffffff16565b905060006129e860646129da888b612ab190919063ffffffff16565b61241e90919063ffffffff16565b90506000612a1182612a03858c6127f390919063ffffffff16565b6127f390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a418589612ab190919063ffffffff16565b90506000612a588689612ab190919063ffffffff16565b90506000612a6f8789612ab190919063ffffffff16565b90506000612a9882612a8a85876127f390919063ffffffff16565b6127f390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612ac45760009050612b26565b60008284612ad29190613155565b9050828482612ae19190613b1e565b14612b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1890613c2d565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b66578082015181840152602081019050612b4b565b83811115612b75576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b9782612b2c565b612ba18185612b37565b9350612bb1818560208601612b48565b612bba81612b7b565b840191505092915050565b60006020820190508181036000830152612bdf8184612b8c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c1782612bec565b9050919050565b612c2781612c0c565b8114612c3257600080fd5b50565b600081359050612c4481612c1e565b92915050565b6000819050919050565b612c5d81612c4a565b8114612c6857600080fd5b50565b600081359050612c7a81612c54565b92915050565b60008060408385031215612c9757612c96612be7565b5b6000612ca585828601612c35565b9250506020612cb685828601612c6b565b9150509250929050565b60008115159050919050565b612cd581612cc0565b82525050565b6000602082019050612cf06000830184612ccc565b92915050565b6000819050919050565b6000612d1b612d16612d1184612bec565b612cf6565b612bec565b9050919050565b6000612d2d82612d00565b9050919050565b6000612d3f82612d22565b9050919050565b612d4f81612d34565b82525050565b6000602082019050612d6a6000830184612d46565b92915050565b612d7981612c4a565b82525050565b6000602082019050612d946000830184612d70565b92915050565b600080600060608486031215612db357612db2612be7565b5b6000612dc186828701612c35565b9350506020612dd286828701612c35565b9250506040612de386828701612c6b565b9150509250925092565b600060ff82169050919050565b612e0381612ded565b82525050565b6000602082019050612e1e6000830184612dfa565b92915050565b612e2d81612c0c565b82525050565b6000602082019050612e486000830184612e24565b92915050565b612e5781612cc0565b8114612e6257600080fd5b50565b600081359050612e7481612e4e565b92915050565b600060208284031215612e9057612e8f612be7565b5b6000612e9e84828501612e65565b91505092915050565b600060208284031215612ebd57612ebc612be7565b5b6000612ecb84828501612c35565b91505092915050565b600060208284031215612eea57612ee9612be7565b5b6000612ef884828501612c6b565b91505092915050565b60008060008060808587031215612f1b57612f1a612be7565b5b6000612f2987828801612c6b565b9450506020612f3a87828801612c6b565b9350506040612f4b87828801612c6b565b9250506060612f5c87828801612c6b565b91505092959194509250565b60008060408385031215612f7f57612f7e612be7565b5b6000612f8d85828601612c35565b9250506020612f9e85828601612c35565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561302e5780860481111561300a57613009612fa8565b5b60018516156130195780820291505b808102905061302785612fd7565b9450612fee565b94509492505050565b6000826130475760019050613103565b816130555760009050613103565b816001811461306b5760028114613075576130a4565b6001915050613103565b60ff84111561308757613086612fa8565b5b8360020a91508482111561309e5761309d612fa8565b5b50613103565b5060208310610133831016604e8410600b84101617156130d95782820a9050838111156130d4576130d3612fa8565b5b613103565b6130e68484846001612fe4565b925090508184048111156130fd576130fc612fa8565b5b81810290505b9392505050565b600061311582612c4a565b915061312083612ded565b925061314d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613037565b905092915050565b600061316082612c4a565b915061316b83612c4a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131a4576131a3612fa8565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131e5602083612b37565b91506131f0826131af565b602082019050919050565b60006020820190508181036000830152613214816131d8565b9050919050565b60008151905061322a81612c1e565b92915050565b60006020828403121561324657613245612be7565b5b60006132548482850161321b565b91505092915050565b60006040820190506132726000830185612e24565b61327f6020830184612e24565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132e2602683612b37565b91506132ed82613286565b604082019050919050565b60006020820190508181036000830152613311816132d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613374602483612b37565b915061337f82613318565b604082019050919050565b600060208201905081810360008301526133a381613367565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613406602283612b37565b9150613411826133aa565b604082019050919050565b60006020820190508181036000830152613435816133f9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613498602583612b37565b91506134a38261343c565b604082019050919050565b600060208201905081810360008301526134c78161348b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061352a602383612b37565b9150613535826134ce565b604082019050919050565b600060208201905081810360008301526135598161351d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006135bc602983612b37565b91506135c782613560565b604082019050919050565b600060208201905081810360008301526135eb816135af565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061364e603f83612b37565b9150613659826135f2565b604082019050919050565b6000602082019050818103600083015261367d81613641565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006136ba601c83612b37565b91506136c582613684565b602082019050919050565b600060208201905081810360008301526136e9816136ad565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b600061374c602383612b37565b9150613757826136f0565b604082019050919050565b6000602082019050818103600083015261377b8161373f565b9050919050565b600061378d82612c4a565b915061379883612c4a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137cd576137cc612fa8565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613834602383612b37565b915061383f826137d8565b604082019050919050565b6000602082019050818103600083015261386381613827565b9050919050565b600061387582612c4a565b915061388083612c4a565b92508282101561389357613892612fa8565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006138fa602a83612b37565b91506139058261389e565b604082019050919050565b60006020820190508181036000830152613929816138ed565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006139b36139ae6139a98461398e565b612cf6565b612c4a565b9050919050565b6139c381613998565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139fe81612c0c565b82525050565b6000613a1083836139f5565b60208301905092915050565b6000602082019050919050565b6000613a34826139c9565b613a3e81856139d4565b9350613a49836139e5565b8060005b83811015613a7a578151613a618882613a04565b9750613a6c83613a1c565b925050600181019050613a4d565b5085935050505092915050565b600060c082019050613a9c6000830189612d70565b613aa960208301886139ba565b8181036040830152613abb8187613a29565b9050613aca6060830186612e24565b613ad76080830185612e24565b613ae460a0830184612d70565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b2982612c4a565b9150613b3483612c4a565b925082613b4457613b43613aef565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b85601b83612b37565b9150613b9082613b4f565b602082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c17602183612b37565b9150613c2282613bbb565b604082019050919050565b60006020820190508181036000830152613c4681613c0a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c237f0a49347105d5572333c9a6091a1d8683b716d0763ab8a694cfa94cdf0b364736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80637d1db4a5116100ec578063a2a957bb1161008a578063c3c8cd8011610064578063c3c8cd80146105f5578063dd62ed3e1461060c578063ea1644d514610649578063f2fde38b14610672576101c2565b8063a2a957bb14610552578063a9059cbb1461057b578063bfd79284146105b8576101c2565b80638f70ccf7116100c65780638f70ccf7146104aa5780638f9a55c0146104d357806395d89b41146104fe57806398a5c31514610529576101c2565b80637d1db4a5146104175780637f2feddc146104425780638da5cb5b1461047f576101c2565b806341c2bd55116101595780636fc3eaec116101335780636fc3eaec1461038357806370a082311461039a578063715018a6146103d757806374010ece146103ee576101c2565b806341c2bd551461031857806349bd5a5e1461032f5780636d8aa8f81461035a576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632fd689e3146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61069b565b6040516101e99190612bc5565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190612c80565b6106d8565b6040516102269190612cdb565b60405180910390f35b34801561023b57600080fd5b506102446106f6565b6040516102519190612d55565b60405180910390f35b34801561026657600080fd5b5061026f61071c565b60405161027c9190612d7f565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612d9a565b610741565b6040516102b99190612cdb565b60405180910390f35b3480156102ce57600080fd5b506102d761081a565b6040516102e49190612d7f565b60405180910390f35b3480156102f957600080fd5b50610302610820565b60405161030f9190612e09565b60405180910390f35b34801561032457600080fd5b5061032d610829565b005b34801561033b57600080fd5b50610344610908565b6040516103519190612e33565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190612e7a565b61092e565b005b34801561038f57600080fd5b506103986109e0565b005b3480156103a657600080fd5b506103c160048036038101906103bc9190612ea7565b610ab1565b6040516103ce9190612d7f565b60405180910390f35b3480156103e357600080fd5b506103ec610b02565b005b3480156103fa57600080fd5b5061041560048036038101906104109190612ed4565b610c55565b005b34801561042357600080fd5b5061042c610cf4565b6040516104399190612d7f565b60405180910390f35b34801561044e57600080fd5b5061046960048036038101906104649190612ea7565b610cfa565b6040516104769190612d7f565b60405180910390f35b34801561048b57600080fd5b50610494610d12565b6040516104a19190612e33565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190612e7a565b610d3b565b005b3480156104df57600080fd5b506104e861100f565b6040516104f59190612d7f565b60405180910390f35b34801561050a57600080fd5b50610513611015565b6040516105209190612bc5565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b9190612ed4565b611052565b005b34801561055e57600080fd5b5061057960048036038101906105749190612f01565b6110f1565b005b34801561058757600080fd5b506105a2600480360381019061059d9190612c80565b6111a8565b6040516105af9190612cdb565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190612ea7565b6111c6565b6040516105ec9190612cdb565b60405180910390f35b34801561060157600080fd5b5061060a6111e6565b005b34801561061857600080fd5b50610633600480360381019061062e9190612f68565b6112bf565b6040516106409190612d7f565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190612ed4565b611346565b005b34801561067e57600080fd5b5061069960048036038101906106949190612ea7565b6113e5565b005b60606040518060400160405280600f81526020017f48756e74657220582048756e7465720000000000000000000000000000000000815250905090565b60006106ec6106e56115a7565b84846115af565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a61072c919061310a565b64199c82cc0061073c9190613155565b905090565b600061074e84848461177a565b61080f8461075a6115a7565b61080a85604051806060016040528060288152602001613c4e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107c06115a7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fff9092919063ffffffff16565b6115af565b600190509392505050565b60185481565b60006009905090565b6108316115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b5906131fb565b60405180910390fd5b6009600a6108cc919061310a565b64199c82cc006108dc9190613155565b6017819055506009600a6108f0919061310a565b64199c82cc006109009190613155565b601681905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109366115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ba906131fb565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a216115a7565b73ffffffffffffffffffffffffffffffffffffffff161480610a975750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a7f6115a7565b73ffffffffffffffffffffffffffffffffffffffff16145b610aa057600080fd5b6000479050610aae81612063565b50565b6000610afb600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120cf565b9050919050565b610b0a6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8e906131fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c5d6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce1906131fb565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d436115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc7906131fb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea89190613230565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0a57600080fd5b505afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190613230565b6040518363ffffffff1660e01b8152600401610f5f92919061325d565b602060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb19190613230565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560146101000a81548160ff0219169083151502179055505050565b60175481565b60606040518060400160405280600381526020017f474f4e0000000000000000000000000000000000000000000000000000000000815250905090565b61105a6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110de906131fb565b60405180910390fd5b8060188190555050565b6110f96115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d906131fb565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b60006111bc6111b56115a7565b848461177a565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112276115a7565b73ffffffffffffffffffffffffffffffffffffffff16148061129d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112856115a7565b73ffffffffffffffffffffffffffffffffffffffff16145b6112a657600080fd5b60006112b130610ab1565b90506112bc8161213d565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61134e6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d2906131fb565b60405180910390fd5b8060178190555050565b6113ed6115a7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461147a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611471906131fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e1906132f8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561161f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116169061338a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561168f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116869061341c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161176d9190612d7f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e1906134ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561185a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185190613540565b60405180910390fd5b6000811161189d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611894906135d2565b60405180910390fd5b6118a5610d12565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561191357506118e3610d12565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cfe57601560149054906101000a900460ff166119a257611934610d12565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199890613664565b60405180910390fd5b5b6016548111156119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de906136d0565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a8b5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac190613762565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b775760175481611b2c84610ab1565b611b369190613782565b10611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061384a565b60405180910390fd5b5b6000611b8230610ab1565b9050600060185482101590506016548210611b9d5760165491505b808015611bb5575060158054906101000a900460ff16155b8015611c0f5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c275750601560169054906101000a900460ff165b8015611c7d5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611cd35750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cfb57611ce18261213d565b60004790506000811115611cf957611cf847612063565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611da55750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e585750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e575750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e665760009050611fed565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f115750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f2957600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fd45750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fec57600a54600c81905550600b54600d819055505b5b611ff9848484846123c6565b50505050565b6000838311158290612047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203e9190612bc5565b60405180910390fd5b5060008385612056919061386a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120cb573d6000803e3d6000fd5b5050565b6000600654821115612116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210d90613910565b60405180910390fd5b60006121206123f3565b9050612135818461241e90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561217457612173613930565b5b6040519080825280602002602001820160405280156121a25781602001602082028036833780820191505090505b50905030816000815181106121ba576121b961395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561225c57600080fd5b505afa158015612270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122949190613230565b816001815181106122a8576122a761395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061230f30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115af565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166352aa4c2283600084306000426040518763ffffffff1660e01b815260040161237696959493929190613a87565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806123d4576123d3612468565b5b6123df8484846124ab565b806123ed576123ec612676565b5b50505050565b600080600061240061268a565b91509150612417818361241e90919063ffffffff16565b9250505090565b600061246083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612728565b905092915050565b6000600c5414801561247c57506000600d54145b15612486576124a9565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806124bd8761278b565b95509550955095509550955061251b86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127f390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125b085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125fc8161289b565b6126068483612958565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126639190612d7f565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000806000600654905060006009600a6126a4919061310a565b64199c82cc006126b49190613155565b90506126e86009600a6126c7919061310a565b64199c82cc006126d79190613155565b60065461241e90919063ffffffff16565b82101561271b576006546009600a612700919061310a565b64199c82cc006127109190613155565b935093505050612724565b81819350935050505b9091565b6000808311829061276f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127669190612bc5565b60405180910390fd5b506000838561277e9190613b1e565b9050809150509392505050565b60008060008060008060008060006127a88a600c54600d54612992565b92509250925060006127b86123f3565b905060008060006127cb8e878787612a28565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061283583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fff565b905092915050565b600080828461284c9190613782565b905083811015612891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288890613b9b565b60405180910390fd5b8091505092915050565b60006128a56123f3565b905060006128bc8284612ab190919063ffffffff16565b905061291081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461283d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61296d826006546127f390919063ffffffff16565b6006819055506129888160075461283d90919063ffffffff16565b6007819055505050565b6000806000806129be60646129b0888a612ab190919063ffffffff16565b61241e90919063ffffffff16565b905060006129e860646129da888b612ab190919063ffffffff16565b61241e90919063ffffffff16565b90506000612a1182612a03858c6127f390919063ffffffff16565b6127f390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a418589612ab190919063ffffffff16565b90506000612a588689612ab190919063ffffffff16565b90506000612a6f8789612ab190919063ffffffff16565b90506000612a9882612a8a85876127f390919063ffffffff16565b6127f390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612ac45760009050612b26565b60008284612ad29190613155565b9050828482612ae19190613b1e565b14612b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1890613c2d565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b66578082015181840152602081019050612b4b565b83811115612b75576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b9782612b2c565b612ba18185612b37565b9350612bb1818560208601612b48565b612bba81612b7b565b840191505092915050565b60006020820190508181036000830152612bdf8184612b8c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c1782612bec565b9050919050565b612c2781612c0c565b8114612c3257600080fd5b50565b600081359050612c4481612c1e565b92915050565b6000819050919050565b612c5d81612c4a565b8114612c6857600080fd5b50565b600081359050612c7a81612c54565b92915050565b60008060408385031215612c9757612c96612be7565b5b6000612ca585828601612c35565b9250506020612cb685828601612c6b565b9150509250929050565b60008115159050919050565b612cd581612cc0565b82525050565b6000602082019050612cf06000830184612ccc565b92915050565b6000819050919050565b6000612d1b612d16612d1184612bec565b612cf6565b612bec565b9050919050565b6000612d2d82612d00565b9050919050565b6000612d3f82612d22565b9050919050565b612d4f81612d34565b82525050565b6000602082019050612d6a6000830184612d46565b92915050565b612d7981612c4a565b82525050565b6000602082019050612d946000830184612d70565b92915050565b600080600060608486031215612db357612db2612be7565b5b6000612dc186828701612c35565b9350506020612dd286828701612c35565b9250506040612de386828701612c6b565b9150509250925092565b600060ff82169050919050565b612e0381612ded565b82525050565b6000602082019050612e1e6000830184612dfa565b92915050565b612e2d81612c0c565b82525050565b6000602082019050612e486000830184612e24565b92915050565b612e5781612cc0565b8114612e6257600080fd5b50565b600081359050612e7481612e4e565b92915050565b600060208284031215612e9057612e8f612be7565b5b6000612e9e84828501612e65565b91505092915050565b600060208284031215612ebd57612ebc612be7565b5b6000612ecb84828501612c35565b91505092915050565b600060208284031215612eea57612ee9612be7565b5b6000612ef884828501612c6b565b91505092915050565b60008060008060808587031215612f1b57612f1a612be7565b5b6000612f2987828801612c6b565b9450506020612f3a87828801612c6b565b9350506040612f4b87828801612c6b565b9250506060612f5c87828801612c6b565b91505092959194509250565b60008060408385031215612f7f57612f7e612be7565b5b6000612f8d85828601612c35565b9250506020612f9e85828601612c35565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561302e5780860481111561300a57613009612fa8565b5b60018516156130195780820291505b808102905061302785612fd7565b9450612fee565b94509492505050565b6000826130475760019050613103565b816130555760009050613103565b816001811461306b5760028114613075576130a4565b6001915050613103565b60ff84111561308757613086612fa8565b5b8360020a91508482111561309e5761309d612fa8565b5b50613103565b5060208310610133831016604e8410600b84101617156130d95782820a9050838111156130d4576130d3612fa8565b5b613103565b6130e68484846001612fe4565b925090508184048111156130fd576130fc612fa8565b5b81810290505b9392505050565b600061311582612c4a565b915061312083612ded565b925061314d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613037565b905092915050565b600061316082612c4a565b915061316b83612c4a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131a4576131a3612fa8565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131e5602083612b37565b91506131f0826131af565b602082019050919050565b60006020820190508181036000830152613214816131d8565b9050919050565b60008151905061322a81612c1e565b92915050565b60006020828403121561324657613245612be7565b5b60006132548482850161321b565b91505092915050565b60006040820190506132726000830185612e24565b61327f6020830184612e24565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132e2602683612b37565b91506132ed82613286565b604082019050919050565b60006020820190508181036000830152613311816132d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613374602483612b37565b915061337f82613318565b604082019050919050565b600060208201905081810360008301526133a381613367565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613406602283612b37565b9150613411826133aa565b604082019050919050565b60006020820190508181036000830152613435816133f9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613498602583612b37565b91506134a38261343c565b604082019050919050565b600060208201905081810360008301526134c78161348b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061352a602383612b37565b9150613535826134ce565b604082019050919050565b600060208201905081810360008301526135598161351d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006135bc602983612b37565b91506135c782613560565b604082019050919050565b600060208201905081810360008301526135eb816135af565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061364e603f83612b37565b9150613659826135f2565b604082019050919050565b6000602082019050818103600083015261367d81613641565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006136ba601c83612b37565b91506136c582613684565b602082019050919050565b600060208201905081810360008301526136e9816136ad565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b600061374c602383612b37565b9150613757826136f0565b604082019050919050565b6000602082019050818103600083015261377b8161373f565b9050919050565b600061378d82612c4a565b915061379883612c4a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137cd576137cc612fa8565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613834602383612b37565b915061383f826137d8565b604082019050919050565b6000602082019050818103600083015261386381613827565b9050919050565b600061387582612c4a565b915061388083612c4a565b92508282101561389357613892612fa8565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006138fa602a83612b37565b91506139058261389e565b604082019050919050565b60006020820190508181036000830152613929816138ed565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006139b36139ae6139a98461398e565b612cf6565b612c4a565b9050919050565b6139c381613998565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139fe81612c0c565b82525050565b6000613a1083836139f5565b60208301905092915050565b6000602082019050919050565b6000613a34826139c9565b613a3e81856139d4565b9350613a49836139e5565b8060005b83811015613a7a578151613a618882613a04565b9750613a6c83613a1c565b925050600181019050613a4d565b5085935050505092915050565b600060c082019050613a9c6000830189612d70565b613aa960208301886139ba565b8181036040830152613abb8187613a29565b9050613aca6060830186612e24565b613ad76080830185612e24565b613ae460a0830184612d70565b979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b2982612c4a565b9150613b3483612c4a565b925082613b4457613b43613aef565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b85601b83612b37565b9150613b9082613b4f565b602082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c17602183612b37565b9150613c2282613bbb565b604082019050919050565b60006020820190508181036000830152613c4681613c0a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c237f0a49347105d5572333c9a6091a1d8683b716d0763ab8a694cfa94cdf0b364736f6c63430008090033
Deployed Bytecode Sourcemap
11523:13246:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13752:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14677:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12885:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14029:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14878:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13193:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13938:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24652:114;;;;;;;;;;;;;:::i;:::-;;12933:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24273:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20098:235;;;;;;;;;;;;;:::i;:::-;;14132:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9358:148;;;;;;;;;;;;;:::i;:::-;;24413:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13082:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12627:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9144:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19452:394;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13137:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13843:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24082:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23739:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14278:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12589:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19854:236;;;;;;;;;;;;;:::i;:::-;;14485:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24529:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9514:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13752:83;13789:13;13822:5;;;;;;;;;;;;;;;;;13815:12;;13752:83;:::o;14677:193::-;14779:4;14801:39;14810:12;:10;:12::i;:::-;14824:7;14833:6;14801:8;:39::i;:::-;14858:4;14851:11;;14677:193;;;;:::o;12885:41::-;;;;;;;;;;;;;:::o;14029:95::-;14082:7;11769:1;12114:2;:13;;;;:::i;:::-;12096:15;:31;;;;:::i;:::-;14102:14;;14029:95;:::o;14878:446::-;15010:4;15027:36;15037:6;15045:9;15056:6;15027:9;:36::i;:::-;15074:220;15097:6;15118:12;:10;:12::i;:::-;15145:138;15201:6;15145:138;;;;;;;;;;;;;;;;;:11;:19;15157:6;15145:19;;;;;;;;;;;;;;;:33;15165:12;:10;:12::i;:::-;15145:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;15074:8;:220::i;:::-;15312:4;15305:11;;14878:446;;;;;:::o;13193:55::-;;;;:::o;13938:83::-;13979:5;11769:1;13997:16;;13938:83;:::o;24652:114::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11769:1:::1;12114:2;:13;;;;:::i;:::-;12096:15;:31;;;;:::i;:::-;24701:14;:24;;;;11769:1;12114:2;:13;;;;:::i;:::-;12096:15;:31;;;;:::i;:::-;24736:12;:22;;;;24652:114::o:0;12933:28::-;;;;;;;;;;;;;:::o;24273:101::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24354:12:::1;24340:11;;:26;;;;;;;;;;;;;;;;;;24273:101:::0;:::o;20098:235::-;20164:19;;;;;;;;;;;20148:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;20203:17;;;;;;;;;;;20187:33;;:12;:10;:12::i;:::-;:33;;;20148:72;20140:81;;;;;;20232:26;20261:21;20232:50;;20293:32;20306:18;20293:12;:32::i;:::-;20129:204;20098:235::o;14132:138::-;14198:7;14225:37;14245:7;:16;14253:7;14245:16;;;;;;;;;;;;;;;;14225:19;:37::i;:::-;14218:44;;14132:138;;;:::o;9358:148::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9465:1:::1;9428:40;;9449:6;::::0;::::1;;;;;;;;9428:40;;;;;;;;;;;;9496:1;9479:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;9358:148::o:0;24413:108::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24502:11:::1;24487:12;:26;;;;24413:108:::0;:::o;13082:48::-;;;;:::o;12627:43::-;;;;;;;;;;;;;;;;;:::o;9144:79::-;9182:7;9209:6;;;;;;;;;;;9202:13;;9144:79;:::o;19452:394::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19519:35:::1;19576:42;19519:100;;19648:16;19630:15;;:34;;;;;;;;;;;;;;;;;;19709:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19691:70;;;19770:4;19777:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19691:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19675:13;;:126;;;;;;;;;;;;;;;;;;19826:12;19812:11;;:26;;;;;;;;;;;;;;;;;;19508:338;19452:394:::0;:::o;13137:49::-;;;;:::o;13843:87::-;13882:13;13915:7;;;;;;;;;;;;;;;;;13908:14;;13843:87;:::o;24082:139::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24195:18:::1;24173:19;:40;;;;24082:139:::0;:::o;23739:291::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23890:13:::1;23873:14;:30;;;;23932:14;23914:15;:32;;;;23972:11;23957:12;:26;;;;24010:12;23994:13;:28;;;;23739:291:::0;;;;:::o;14278:199::-;14383:4;14405:42;14415:12;:10;:12::i;:::-;14429:9;14440:6;14405:9;:42::i;:::-;14465:4;14458:11;;14278:199;;;;:::o;12589:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;19854:236::-;19920:19;;;;;;;;;;;19904:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;19959:17;;;;;;;;;;;19943:33;;:12;:10;:12::i;:::-;:33;;;19904:72;19896:81;;;;;;19988:23;20014:24;20032:4;20014:9;:24::i;:::-;19988:50;;20049:33;20066:15;20049:16;:33::i;:::-;19885:205;19854:236::o;14485:184::-;14602:7;14634:11;:18;14646:5;14634:18;;;;;;;;;;;;;;;:27;14653:7;14634:27;;;;;;;;;;;;;;;;14627:34;;14485:184;;;;:::o;24529:115::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24623:13:::1;24606:14;:30;;;;24529:115:::0;:::o;9514:244::-;9281:12;:10;:12::i;:::-;9271:22;;:6;;;;;;;;;;:22;;;9263:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9623:1:::1;9603:22;;:8;:22;;;;9595:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9713:8;9684:38;;9705:6;::::0;::::1;;;;;;;;9684:38;;;;;;;;;;;;9742:8;9733:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;9514:244:::0;:::o;7900:98::-;7953:7;7980:10;7973:17;;7900:98;:::o;16015:369::-;16159:1;16142:19;;:5;:19;;;;16134:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16240:1;16221:21;;:7;:21;;;;16213:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16322:6;16292:11;:18;16304:5;16292:18;;;;;;;;;;;;;;;:27;16311:7;16292:27;;;;;;;;;;;;;;;:36;;;;16360:7;16344:32;;16353:5;16344:32;;;16369:6;16344:32;;;;;;:::i;:::-;;;;;;;;16015:369;;;:::o;16392:2330::-;16530:1;16514:18;;:4;:18;;;;16506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16607:1;16593:16;;:2;:16;;;;16585:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16677:1;16668:6;:10;16660:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16749:7;:5;:7::i;:::-;16741:15;;:4;:15;;;;:32;;;;;16766:7;:5;:7::i;:::-;16760:13;;:2;:13;;;;16741:32;16737:1259;;;16830:11;;;;;;;;;;;16825:144;;16878:7;:5;:7::i;:::-;16870:15;;:4;:15;;;16862:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;16825:144;17003:12;;16993:6;:22;;16985:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;17072:4;:10;17077:4;17072:10;;;;;;;;;;;;;;;;;;;;;;;;;17071:11;:24;;;;;17087:4;:8;17092:2;17087:8;;;;;;;;;;;;;;;;;;;;;;;;;17086:9;17071:24;17063:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;17161:13;;;;;;;;;;;17155:19;;:2;:19;;;17152:146;;17228:14;;17219:6;17203:13;17213:2;17203:9;:13::i;:::-;:22;;;;:::i;:::-;:39;17195:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;17152:146;17314:28;17345:24;17363:4;17345:9;:24::i;:::-;17314:55;;17384:12;17423:19;;17399:20;:43;;17384:58;;17486:12;;17462:20;:36;17459:124;;17555:12;;17532:35;;17459:124;17603:7;:18;;;;;17615:6;;;;;;;;;;17614:7;17603:18;:43;;;;;17633:13;;;;;;;;;;;17625:21;;:4;:21;;;;17603:43;:58;;;;;17650:11;;;;;;;;;;;17603:58;:87;;;;;17666:18;:24;17685:4;17666:24;;;;;;;;;;;;;;;;;;;;;;;;;17665:25;17603:87;:114;;;;;17695:18;:22;17714:2;17695:22;;;;;;;;;;;;;;;;;;;;;;;;;17694:23;17603:114;17599:386;;;17738:38;17755:20;17738:16;:38::i;:::-;17795:26;17824:21;17795:50;;17889:1;17868:18;:22;17864:106;;;17915:35;17928:21;17915:12;:35::i;:::-;17864:106;17719:266;17599:386;16775:1221;;16737:1259;18008:12;18023:4;18008:19;;18072:18;:24;18091:4;18072:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;18100:18;:22;18119:2;18100:22;;;;;;;;;;;;;;;;;;;;;;;;;18072:50;18071:102;;;;18136:13;;;;;;;;;;;18128:21;;:4;:21;;;;:44;;;;;18159:13;;;;;;;;;;;18153:19;;:2;:19;;;;18128:44;18071:102;18067:594;;;18200:5;18190:15;;18067:594;;;18283:13;;;;;;;;;;;18275:21;;:4;:21;;;:55;;;;;18314:15;;;;;;;;;;;18300:30;;:2;:30;;;;18275:55;18272:162;;;18363:14;;18351:9;:26;;;;18406:12;;18396:7;:22;;;;18272:162;18493:13;;;;;;;;;;;18487:19;;:2;:19;;;:55;;;;;18526:15;;;;;;;;;;;18510:32;;:4;:32;;;;18487:55;18483:165;;;18575:15;;18563:9;:27;;;;18619:13;;18609:7;:23;;;;18483:165;18067:594;18673:41;18688:4;18694:2;18698:6;18706:7;18673:14;:41::i;:::-;16495:2227;16392:2330;;;:::o;10122:224::-;10242:7;10275:1;10270;:6;;10278:12;10262:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;10302:9;10318:1;10314;:5;;;;:::i;:::-;10302:17;;10337:1;10330:8;;;10122:224;;;;;:::o;19278:99::-;19335:17;;;;;;;;;;;:26;;:34;19362:6;19335:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19278:99;:::o;15332:323::-;15427:7;15485;;15474;:18;;15452:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;15573:19;15595:10;:8;:10::i;:::-;15573:32;;15623:24;15635:11;15623:7;:11;;:24;;;;:::i;:::-;15616:31;;;15332:323;;;:::o;18730:540::-;13351:4;13342:6;;:13;;;;;;;;;;;;;;;;;;18808:21:::1;18846:1;18832:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18808:40;;18877:4;18859;18864:1;18859:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;18903:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18893:4;18898:1;18893:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;18936:62;18953:4;18968:15;;;;;;;;;;;18986:11;18936:8;:62::i;:::-;19009:15;;;;;;;;;;;:66;;;19090:11;19116:1;19132:4;19159;19179:42;19236:15;19009:253;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18797:473;13388:5:::0;13379:6;;:14;;;;;;;;;;;;;;;;;;18730:540;:::o;20341:282::-;20497:7;20492:28;;20506:14;:12;:14::i;:::-;20492:28;20531:44;20549:6;20557:9;20568:6;20531:17;:44::i;:::-;20591:7;20586:29;;20600:15;:13;:15::i;:::-;20586:29;20341:282;;;;:::o;23302:164::-;23344:7;23365:15;23382;23401:19;:17;:19::i;:::-;23364:56;;;;23438:20;23450:7;23438;:11;;:20;;;;:::i;:::-;23431:27;;;;23302:164;:::o;10608:132::-;10666:7;10693:39;10697:1;10700;10693:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;10686:46;;10608:132;;;;:::o;15663:219::-;15723:1;15710:9;;:14;:30;;;;;15739:1;15728:7;;:12;15710:30;15706:43;;;15742:7;;15706:43;15781:9;;15761:17;:29;;;;15819:7;;15801:15;:25;;;;15851:1;15839:9;:13;;;;15873:1;15863:7;:11;;;;15663:219;:::o;20631:610::-;20778:15;20808:23;20846:12;20873:23;20911:12;20938:13;20965:19;20976:7;20965:10;:19::i;:::-;20763:221;;;;;;;;;;;;21013:28;21033:7;21013;:15;21021:6;21013:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20995:7;:15;21003:6;20995:15;;;;;;;;;;;;;;;:46;;;;21073:39;21096:15;21073:7;:18;21081:9;21073:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;21052:7;:18;21060:9;21052:18;;;;;;;;;;;;;;;:60;;;;21123:16;21133:5;21123:9;:16::i;:::-;21150:23;21162:4;21168;21150:11;:23::i;:::-;21206:9;21189:44;;21198:6;21189:44;;;21217:15;21189:44;;;;;;:::i;:::-;;;;;;;;20752:489;;;;;;20631:610;;;:::o;15890:117::-;15946:17;;15934:9;:29;;;;15984:15;;15974:7;:25;;;;15890:117::o;23474:257::-;23525:7;23534;23554:15;23572:7;;23554:25;;23590:15;11769:1;12114:2;:13;;;;:::i;:::-;12096:15;:31;;;;:::i;:::-;23590:25;;23640:20;11769:1;12114:2;:13;;;;:::i;:::-;12096:15;:31;;;;:::i;:::-;23640:7;;:11;;:20;;;;:::i;:::-;23630:7;:30;23626:61;;;23670:7;;11769:1;12114:2;:13;;;;:::i;:::-;12096:15;:31;;;;:::i;:::-;23662:25;;;;;;;;23626:61;23706:7;23715;23698:25;;;;;;23474:257;;;:::o;10748:223::-;10868:7;10900:1;10896;:5;10903:12;10888:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;10927:9;10943:1;10939;:5;;;;:::i;:::-;10927:17;;10962:1;10955:8;;;10748:223;;;;;:::o;21660:615::-;21760:7;21782;21804;21826;21848;21870;21906:23;21931:12;21945:13;21975:40;21987:7;21996:9;;22007:7;;21975:11;:40::i;:::-;21905:110;;;;;;22026:19;22048:10;:8;:10::i;:::-;22026:32;;22070:15;22087:23;22112:12;22141:46;22153:7;22162:4;22168:5;22175:11;22141;:46::i;:::-;22069:118;;;;;;22206:7;22215:15;22232:4;22238:15;22255:4;22261:5;22198:69;;;;;;;;;;;;;;;;;;;21660:615;;;;;;;:::o;9978:136::-;10036:7;10063:43;10067:1;10070;10063:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;10056:50;;9978:136;;;;:::o;9791:179::-;9849:7;9869:9;9885:1;9881;:5;;;;:::i;:::-;9869:17;;9910:1;9905;:6;;9897:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;9961:1;9954:8;;;9791:179;;;;:::o;21249:211::-;21302:19;21324:10;:8;:10::i;:::-;21302:32;;21345:13;21361:22;21371:11;21361:5;:9;;:22;;;;:::i;:::-;21345:38;;21419:33;21446:5;21419:7;:22;21435:4;21419:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;21394:7;:22;21410:4;21394:22;;;;;;;;;;;;;;;:58;;;;21291:169;;21249:211;:::o;21468:147::-;21546:17;21558:4;21546:7;;:11;;:17;;;;:::i;:::-;21536:7;:27;;;;21587:20;21602:4;21587:10;;:14;;:20;;;;:::i;:::-;21574:10;:33;;;;21468:147;;:::o;22283:469::-;22452:7;22474;22496;22531:12;22546:30;22572:3;22546:21;22558:8;22546:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;22531:45;;22587:13;22603:28;22627:3;22603:19;22615:6;22603:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;22587:44;;22642:23;22668:28;22690:5;22668:17;22680:4;22668:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;22642:54;;22715:15;22732:4;22738:5;22707:37;;;;;;;;;22283:469;;;;;;;:::o;22760:534::-;22954:7;22976;22998;23033:15;23051:24;23063:11;23051:7;:11;;:24;;;;:::i;:::-;23033:42;;23086:12;23101:21;23110:11;23101:4;:8;;:21;;;;:::i;:::-;23086:36;;23133:13;23149:22;23159:11;23149:5;:9;;:22;;;;:::i;:::-;23133:38;;23182:23;23208:28;23230:5;23208:17;23220:4;23208:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;23182:54;;23255:7;23264:15;23281:4;23247:39;;;;;;;;;;22760:534;;;;;;;;:::o;10354:246::-;10412:7;10441:1;10436;:6;10432:47;;;10466:1;10459:8;;;;10432:47;10489:9;10505:1;10501;:5;;;;:::i;:::-;10489:17;;10534:1;10529;10525;:5;;;;:::i;:::-;:10;10517:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10591:1;10584:8;;;10354:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:152::-;3916:9;3949:37;3980:5;3949:37;:::i;:::-;3936:50;;3840:152;;;:::o;3998:183::-;4111:63;4168:5;4111:63;:::i;:::-;4106:3;4099:76;3998:183;;:::o;4187:274::-;4306:4;4344:2;4333:9;4329:18;4321:26;;4357:97;4451:1;4440:9;4436:17;4427:6;4357:97;:::i;:::-;4187:274;;;;:::o;4467:118::-;4554:24;4572:5;4554:24;:::i;:::-;4549:3;4542:37;4467:118;;:::o;4591:222::-;4684:4;4722:2;4711:9;4707:18;4699:26;;4735:71;4803:1;4792:9;4788:17;4779:6;4735:71;:::i;:::-;4591:222;;;;:::o;4819:619::-;4896:6;4904;4912;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;5214:2;5240:53;5285:7;5276:6;5265:9;5261:22;5240:53;:::i;:::-;5230:63;;5185:118;5342:2;5368:53;5413:7;5404:6;5393:9;5389:22;5368:53;:::i;:::-;5358:63;;5313:118;4819:619;;;;;:::o;5444:86::-;5479:7;5519:4;5512:5;5508:16;5497:27;;5444:86;;;:::o;5536:112::-;5619:22;5635:5;5619:22;:::i;:::-;5614:3;5607:35;5536:112;;:::o;5654:214::-;5743:4;5781:2;5770:9;5766:18;5758:26;;5794:67;5858:1;5847:9;5843:17;5834:6;5794:67;:::i;:::-;5654:214;;;;:::o;5874:118::-;5961:24;5979:5;5961:24;:::i;:::-;5956:3;5949:37;5874:118;;:::o;5998:222::-;6091:4;6129:2;6118:9;6114:18;6106:26;;6142:71;6210:1;6199:9;6195:17;6186:6;6142:71;:::i;:::-;5998:222;;;;:::o;6226:116::-;6296:21;6311:5;6296:21;:::i;:::-;6289:5;6286:32;6276:60;;6332:1;6329;6322:12;6276:60;6226:116;:::o;6348:133::-;6391:5;6429:6;6416:20;6407:29;;6445:30;6469:5;6445:30;:::i;:::-;6348:133;;;;:::o;6487:323::-;6543:6;6592:2;6580:9;6571:7;6567:23;6563:32;6560:119;;;6598:79;;:::i;:::-;6560:119;6718:1;6743:50;6785:7;6776:6;6765:9;6761:22;6743:50;:::i;:::-;6733:60;;6689:114;6487:323;;;;:::o;6816:329::-;6875:6;6924:2;6912:9;6903:7;6899:23;6895:32;6892:119;;;6930:79;;:::i;:::-;6892:119;7050:1;7075:53;7120:7;7111:6;7100:9;7096:22;7075:53;:::i;:::-;7065:63;;7021:117;6816:329;;;;:::o;7151:::-;7210:6;7259:2;7247:9;7238:7;7234:23;7230:32;7227:119;;;7265:79;;:::i;:::-;7227:119;7385:1;7410:53;7455:7;7446:6;7435:9;7431:22;7410:53;:::i;:::-;7400:63;;7356:117;7151:329;;;;:::o;7486:765::-;7572:6;7580;7588;7596;7645:3;7633:9;7624:7;7620:23;7616:33;7613:120;;;7652:79;;:::i;:::-;7613:120;7772:1;7797:53;7842:7;7833:6;7822:9;7818:22;7797:53;:::i;:::-;7787:63;;7743:117;7899:2;7925:53;7970:7;7961:6;7950:9;7946:22;7925:53;:::i;:::-;7915:63;;7870:118;8027:2;8053:53;8098:7;8089:6;8078:9;8074:22;8053:53;:::i;:::-;8043:63;;7998:118;8155:2;8181:53;8226:7;8217:6;8206:9;8202:22;8181:53;:::i;:::-;8171:63;;8126:118;7486:765;;;;;;;:::o;8257:474::-;8325:6;8333;8382:2;8370:9;8361:7;8357:23;8353:32;8350:119;;;8388:79;;:::i;:::-;8350:119;8508:1;8533:53;8578:7;8569:6;8558:9;8554:22;8533:53;:::i;:::-;8523:63;;8479:117;8635:2;8661:53;8706:7;8697:6;8686:9;8682:22;8661:53;:::i;:::-;8651:63;;8606:118;8257:474;;;;;:::o;8737:180::-;8785:77;8782:1;8775:88;8882:4;8879:1;8872:15;8906:4;8903:1;8896:15;8923:102;8965:8;9012:5;9009:1;9005:13;8984:34;;8923:102;;;:::o;9031:848::-;9092:5;9099:4;9123:6;9114:15;;9147:5;9138:14;;9161:712;9182:1;9172:8;9169:15;9161:712;;;9277:4;9272:3;9268:14;9262:4;9259:24;9256:50;;;9286:18;;:::i;:::-;9256:50;9336:1;9326:8;9322:16;9319:451;;;9751:4;9744:5;9740:16;9731:25;;9319:451;9801:4;9795;9791:15;9783:23;;9831:32;9854:8;9831:32;:::i;:::-;9819:44;;9161:712;;;9031:848;;;;;;;:::o;9885:1073::-;9939:5;10130:8;10120:40;;10151:1;10142:10;;10153:5;;10120:40;10179:4;10169:36;;10196:1;10187:10;;10198:5;;10169:36;10265:4;10313:1;10308:27;;;;10349:1;10344:191;;;;10258:277;;10308:27;10326:1;10317:10;;10328:5;;;10344:191;10389:3;10379:8;10376:17;10373:43;;;10396:18;;:::i;:::-;10373:43;10445:8;10442:1;10438:16;10429:25;;10480:3;10473:5;10470:14;10467:40;;;10487:18;;:::i;:::-;10467:40;10520:5;;;10258:277;;10644:2;10634:8;10631:16;10625:3;10619:4;10616:13;10612:36;10594:2;10584:8;10581:16;10576:2;10570:4;10567:12;10563:35;10547:111;10544:246;;;10700:8;10694:4;10690:19;10681:28;;10735:3;10728:5;10725:14;10722:40;;;10742:18;;:::i;:::-;10722:40;10775:5;;10544:246;10815:42;10853:3;10843:8;10837:4;10834:1;10815:42;:::i;:::-;10800:57;;;;10889:4;10884:3;10880:14;10873:5;10870:25;10867:51;;;10898:18;;:::i;:::-;10867:51;10947:4;10940:5;10936:16;10927:25;;9885:1073;;;;;;:::o;10964:281::-;11022:5;11046:23;11064:4;11046:23;:::i;:::-;11038:31;;11090:25;11106:8;11090:25;:::i;:::-;11078:37;;11134:104;11171:66;11161:8;11155:4;11134:104;:::i;:::-;11125:113;;10964:281;;;;:::o;11251:348::-;11291:7;11314:20;11332:1;11314:20;:::i;:::-;11309:25;;11348:20;11366:1;11348:20;:::i;:::-;11343:25;;11536:1;11468:66;11464:74;11461:1;11458:81;11453:1;11446:9;11439:17;11435:105;11432:131;;;11543:18;;:::i;:::-;11432:131;11591:1;11588;11584:9;11573:20;;11251:348;;;;:::o;11605:182::-;11745:34;11741:1;11733:6;11729:14;11722:58;11605:182;:::o;11793:366::-;11935:3;11956:67;12020:2;12015:3;11956:67;:::i;:::-;11949:74;;12032:93;12121:3;12032:93;:::i;:::-;12150:2;12145:3;12141:12;12134:19;;11793:366;;;:::o;12165:419::-;12331:4;12369:2;12358:9;12354:18;12346:26;;12418:9;12412:4;12408:20;12404:1;12393:9;12389:17;12382:47;12446:131;12572:4;12446:131;:::i;:::-;12438:139;;12165:419;;;:::o;12590:143::-;12647:5;12678:6;12672:13;12663:22;;12694:33;12721:5;12694:33;:::i;:::-;12590:143;;;;:::o;12739:351::-;12809:6;12858:2;12846:9;12837:7;12833:23;12829:32;12826:119;;;12864:79;;:::i;:::-;12826:119;12984:1;13009:64;13065:7;13056:6;13045:9;13041:22;13009:64;:::i;:::-;12999:74;;12955:128;12739:351;;;;:::o;13096:332::-;13217:4;13255:2;13244:9;13240:18;13232:26;;13268:71;13336:1;13325:9;13321:17;13312:6;13268:71;:::i;:::-;13349:72;13417:2;13406:9;13402:18;13393:6;13349:72;:::i;:::-;13096:332;;;;;:::o;13434:225::-;13574:34;13570:1;13562:6;13558:14;13551:58;13643:8;13638:2;13630:6;13626:15;13619:33;13434:225;:::o;13665:366::-;13807:3;13828:67;13892:2;13887:3;13828:67;:::i;:::-;13821:74;;13904:93;13993:3;13904:93;:::i;:::-;14022:2;14017:3;14013:12;14006:19;;13665:366;;;:::o;14037:419::-;14203:4;14241:2;14230:9;14226:18;14218:26;;14290:9;14284:4;14280:20;14276:1;14265:9;14261:17;14254:47;14318:131;14444:4;14318:131;:::i;:::-;14310:139;;14037:419;;;:::o;14462:223::-;14602:34;14598:1;14590:6;14586:14;14579:58;14671:6;14666:2;14658:6;14654:15;14647:31;14462:223;:::o;14691:366::-;14833:3;14854:67;14918:2;14913:3;14854:67;:::i;:::-;14847:74;;14930:93;15019:3;14930:93;:::i;:::-;15048:2;15043:3;15039:12;15032:19;;14691:366;;;:::o;15063:419::-;15229:4;15267:2;15256:9;15252:18;15244:26;;15316:9;15310:4;15306:20;15302:1;15291:9;15287:17;15280:47;15344:131;15470:4;15344:131;:::i;:::-;15336:139;;15063:419;;;:::o;15488:221::-;15628:34;15624:1;15616:6;15612:14;15605:58;15697:4;15692:2;15684:6;15680:15;15673:29;15488:221;:::o;15715:366::-;15857:3;15878:67;15942:2;15937:3;15878:67;:::i;:::-;15871:74;;15954:93;16043:3;15954:93;:::i;:::-;16072:2;16067:3;16063:12;16056:19;;15715:366;;;:::o;16087:419::-;16253:4;16291:2;16280:9;16276:18;16268:26;;16340:9;16334:4;16330:20;16326:1;16315:9;16311:17;16304:47;16368:131;16494:4;16368:131;:::i;:::-;16360:139;;16087:419;;;:::o;16512:224::-;16652:34;16648:1;16640:6;16636:14;16629:58;16721:7;16716:2;16708:6;16704:15;16697:32;16512:224;:::o;16742:366::-;16884:3;16905:67;16969:2;16964:3;16905:67;:::i;:::-;16898:74;;16981:93;17070:3;16981:93;:::i;:::-;17099:2;17094:3;17090:12;17083:19;;16742:366;;;:::o;17114:419::-;17280:4;17318:2;17307:9;17303:18;17295:26;;17367:9;17361:4;17357:20;17353:1;17342:9;17338:17;17331:47;17395:131;17521:4;17395:131;:::i;:::-;17387:139;;17114:419;;;:::o;17539:222::-;17679:34;17675:1;17667:6;17663:14;17656:58;17748:5;17743:2;17735:6;17731:15;17724:30;17539:222;:::o;17767:366::-;17909:3;17930:67;17994:2;17989:3;17930:67;:::i;:::-;17923:74;;18006:93;18095:3;18006:93;:::i;:::-;18124:2;18119:3;18115:12;18108:19;;17767:366;;;:::o;18139:419::-;18305:4;18343:2;18332:9;18328:18;18320:26;;18392:9;18386:4;18382:20;18378:1;18367:9;18363:17;18356:47;18420:131;18546:4;18420:131;:::i;:::-;18412:139;;18139:419;;;:::o;18564:228::-;18704:34;18700:1;18692:6;18688:14;18681:58;18773:11;18768:2;18760:6;18756:15;18749:36;18564:228;:::o;18798:366::-;18940:3;18961:67;19025:2;19020:3;18961:67;:::i;:::-;18954:74;;19037:93;19126:3;19037:93;:::i;:::-;19155:2;19150:3;19146:12;19139:19;;18798:366;;;:::o;19170:419::-;19336:4;19374:2;19363:9;19359:18;19351:26;;19423:9;19417:4;19413:20;19409:1;19398:9;19394:17;19387:47;19451:131;19577:4;19451:131;:::i;:::-;19443:139;;19170:419;;;:::o;19595:250::-;19735:34;19731:1;19723:6;19719:14;19712:58;19804:33;19799:2;19791:6;19787:15;19780:58;19595:250;:::o;19851:366::-;19993:3;20014:67;20078:2;20073:3;20014:67;:::i;:::-;20007:74;;20090:93;20179:3;20090:93;:::i;:::-;20208:2;20203:3;20199:12;20192:19;;19851:366;;;:::o;20223:419::-;20389:4;20427:2;20416:9;20412:18;20404:26;;20476:9;20470:4;20466:20;20462:1;20451:9;20447:17;20440:47;20504:131;20630:4;20504:131;:::i;:::-;20496:139;;20223:419;;;:::o;20648:178::-;20788:30;20784:1;20776:6;20772:14;20765:54;20648:178;:::o;20832:366::-;20974:3;20995:67;21059:2;21054:3;20995:67;:::i;:::-;20988:74;;21071:93;21160:3;21071:93;:::i;:::-;21189:2;21184:3;21180:12;21173:19;;20832:366;;;:::o;21204:419::-;21370:4;21408:2;21397:9;21393:18;21385:26;;21457:9;21451:4;21447:20;21443:1;21432:9;21428:17;21421:47;21485:131;21611:4;21485:131;:::i;:::-;21477:139;;21204:419;;;:::o;21629:222::-;21769:34;21765:1;21757:6;21753:14;21746:58;21838:5;21833:2;21825:6;21821:15;21814:30;21629:222;:::o;21857:366::-;21999:3;22020:67;22084:2;22079:3;22020:67;:::i;:::-;22013:74;;22096:93;22185:3;22096:93;:::i;:::-;22214:2;22209:3;22205:12;22198:19;;21857:366;;;:::o;22229:419::-;22395:4;22433:2;22422:9;22418:18;22410:26;;22482:9;22476:4;22472:20;22468:1;22457:9;22453:17;22446:47;22510:131;22636:4;22510:131;:::i;:::-;22502:139;;22229:419;;;:::o;22654:305::-;22694:3;22713:20;22731:1;22713:20;:::i;:::-;22708:25;;22747:20;22765:1;22747:20;:::i;:::-;22742:25;;22901:1;22833:66;22829:74;22826:1;22823:81;22820:107;;;22907:18;;:::i;:::-;22820:107;22951:1;22948;22944:9;22937:16;;22654:305;;;;:::o;22965:222::-;23105:34;23101:1;23093:6;23089:14;23082:58;23174:5;23169:2;23161:6;23157:15;23150:30;22965:222;:::o;23193:366::-;23335:3;23356:67;23420:2;23415:3;23356:67;:::i;:::-;23349:74;;23432:93;23521:3;23432:93;:::i;:::-;23550:2;23545:3;23541:12;23534:19;;23193:366;;;:::o;23565:419::-;23731:4;23769:2;23758:9;23754:18;23746:26;;23818:9;23812:4;23808:20;23804:1;23793:9;23789:17;23782:47;23846:131;23972:4;23846:131;:::i;:::-;23838:139;;23565:419;;;:::o;23990:191::-;24030:4;24050:20;24068:1;24050:20;:::i;:::-;24045:25;;24084:20;24102:1;24084:20;:::i;:::-;24079:25;;24123:1;24120;24117:8;24114:34;;;24128:18;;:::i;:::-;24114:34;24173:1;24170;24166:9;24158:17;;23990:191;;;;:::o;24187:229::-;24327:34;24323:1;24315:6;24311:14;24304:58;24396:12;24391:2;24383:6;24379:15;24372:37;24187:229;:::o;24422:366::-;24564:3;24585:67;24649:2;24644:3;24585:67;:::i;:::-;24578:74;;24661:93;24750:3;24661:93;:::i;:::-;24779:2;24774:3;24770:12;24763:19;;24422:366;;;:::o;24794:419::-;24960:4;24998:2;24987:9;24983:18;24975:26;;25047:9;25041:4;25037:20;25033:1;25022:9;25018:17;25011:47;25075:131;25201:4;25075:131;:::i;:::-;25067:139;;24794:419;;;:::o;25219:180::-;25267:77;25264:1;25257:88;25364:4;25361:1;25354:15;25388:4;25385:1;25378:15;25405:180;25453:77;25450:1;25443:88;25550:4;25547:1;25540:15;25574:4;25571:1;25564:15;25591:85;25636:7;25665:5;25654:16;;25591:85;;;:::o;25682:158::-;25740:9;25773:61;25791:42;25800:32;25826:5;25800:32;:::i;:::-;25791:42;:::i;:::-;25773:61;:::i;:::-;25760:74;;25682:158;;;:::o;25846:147::-;25941:45;25980:5;25941:45;:::i;:::-;25936:3;25929:58;25846:147;;:::o;25999:114::-;26066:6;26100:5;26094:12;26084:22;;25999:114;;;:::o;26119:184::-;26218:11;26252:6;26247:3;26240:19;26292:4;26287:3;26283:14;26268:29;;26119:184;;;;:::o;26309:132::-;26376:4;26399:3;26391:11;;26429:4;26424:3;26420:14;26412:22;;26309:132;;;:::o;26447:108::-;26524:24;26542:5;26524:24;:::i;:::-;26519:3;26512:37;26447:108;;:::o;26561:179::-;26630:10;26651:46;26693:3;26685:6;26651:46;:::i;:::-;26729:4;26724:3;26720:14;26706:28;;26561:179;;;;:::o;26746:113::-;26816:4;26848;26843:3;26839:14;26831:22;;26746:113;;;:::o;26895:732::-;27014:3;27043:54;27091:5;27043:54;:::i;:::-;27113:86;27192:6;27187:3;27113:86;:::i;:::-;27106:93;;27223:56;27273:5;27223:56;:::i;:::-;27302:7;27333:1;27318:284;27343:6;27340:1;27337:13;27318:284;;;27419:6;27413:13;27446:63;27505:3;27490:13;27446:63;:::i;:::-;27439:70;;27532:60;27585:6;27532:60;:::i;:::-;27522:70;;27378:224;27365:1;27362;27358:9;27353:14;;27318:284;;;27322:14;27618:3;27611:10;;27019:608;;;26895:732;;;;:::o;27633:942::-;27924:4;27962:3;27951:9;27947:19;27939:27;;27976:71;28044:1;28033:9;28029:17;28020:6;27976:71;:::i;:::-;28057:80;28133:2;28122:9;28118:18;28109:6;28057:80;:::i;:::-;28184:9;28178:4;28174:20;28169:2;28158:9;28154:18;28147:48;28212:108;28315:4;28306:6;28212:108;:::i;:::-;28204:116;;28330:72;28398:2;28387:9;28383:18;28374:6;28330:72;:::i;:::-;28412:73;28480:3;28469:9;28465:19;28456:6;28412:73;:::i;:::-;28495;28563:3;28552:9;28548:19;28539:6;28495:73;:::i;:::-;27633:942;;;;;;;;;:::o;28581:180::-;28629:77;28626:1;28619:88;28726:4;28723:1;28716:15;28750:4;28747:1;28740:15;28767:185;28807:1;28824:20;28842:1;28824:20;:::i;:::-;28819:25;;28858:20;28876:1;28858:20;:::i;:::-;28853:25;;28897:1;28887:35;;28902:18;;:::i;:::-;28887:35;28944:1;28941;28937:9;28932:14;;28767:185;;;;:::o;28958:177::-;29098:29;29094:1;29086:6;29082:14;29075:53;28958:177;:::o;29141:366::-;29283:3;29304:67;29368:2;29363:3;29304:67;:::i;:::-;29297:74;;29380:93;29469:3;29380:93;:::i;:::-;29498:2;29493:3;29489:12;29482:19;;29141:366;;;:::o;29513:419::-;29679:4;29717:2;29706:9;29702:18;29694:26;;29766:9;29760:4;29756:20;29752:1;29741:9;29737:17;29730:47;29794:131;29920:4;29794:131;:::i;:::-;29786:139;;29513:419;;;:::o;29938:220::-;30078:34;30074:1;30066:6;30062:14;30055:58;30147:3;30142:2;30134:6;30130:15;30123:28;29938:220;:::o;30164:366::-;30306:3;30327:67;30391:2;30386:3;30327:67;:::i;:::-;30320:74;;30403:93;30492:3;30403:93;:::i;:::-;30521:2;30516:3;30512:12;30505:19;;30164:366;;;:::o;30536:419::-;30702:4;30740:2;30729:9;30725:18;30717:26;;30789:9;30783:4;30779:20;30775:1;30764:9;30760:17;30753:47;30817:131;30943:4;30817:131;:::i;:::-;30809:139;;30536:419;;;:::o
Swarm Source
ipfs://c237f0a49347105d5572333c9a6091a1d8683b716d0763ab8a694cfa94cdf0b3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.