More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 367 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 16374317 | 731 days ago | IN | 0 ETH | 0.00040073 | ||||
Approve | 15612413 | 838 days ago | IN | 0 ETH | 0.00028353 | ||||
Approve | 15610392 | 838 days ago | IN | 0 ETH | 0.00025113 | ||||
Approve | 15609989 | 838 days ago | IN | 0 ETH | 0.00038581 | ||||
Approve | 15608702 | 838 days ago | IN | 0 ETH | 0.00022567 | ||||
Approve | 15608684 | 838 days ago | IN | 0 ETH | 0.0002204 | ||||
Approve | 15608672 | 838 days ago | IN | 0 ETH | 0.0002285 | ||||
Approve | 15607568 | 838 days ago | IN | 0 ETH | 0.0005198 | ||||
Approve | 15607443 | 838 days ago | IN | 0 ETH | 0.00032605 | ||||
Approve | 15607390 | 838 days ago | IN | 0 ETH | 0.00023627 | ||||
Approve | 15606529 | 838 days ago | IN | 0 ETH | 0.0002359 | ||||
Approve | 15606327 | 839 days ago | IN | 0 ETH | 0.00019576 | ||||
Approve | 15606260 | 839 days ago | IN | 0 ETH | 0.00022885 | ||||
Approve | 15606100 | 839 days ago | IN | 0 ETH | 0.00012597 | ||||
Approve | 15606069 | 839 days ago | IN | 0 ETH | 0.00025258 | ||||
Approve | 15606047 | 839 days ago | IN | 0 ETH | 0.00028404 | ||||
Approve | 15605913 | 839 days ago | IN | 0 ETH | 0.00066105 | ||||
Approve | 15605863 | 839 days ago | IN | 0 ETH | 0.00165392 | ||||
Approve | 15605859 | 839 days ago | IN | 0 ETH | 0.00103651 | ||||
Approve | 15605766 | 839 days ago | IN | 0 ETH | 0.00013361 | ||||
Approve | 15605757 | 839 days ago | IN | 0 ETH | 0.00009988 | ||||
Approve | 15605732 | 839 days ago | IN | 0 ETH | 0.00161343 | ||||
Approve | 15605726 | 839 days ago | IN | 0 ETH | 0.00028526 | ||||
Approve | 15605680 | 839 days ago | IN | 0 ETH | 0.00022736 | ||||
Approve | 15605679 | 839 days ago | IN | 0 ETH | 0.00020598 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
15632033 | 835 days ago | 0.00562813 ETH | ||||
15632033 | 835 days ago | 0.00562813 ETH | ||||
15628347 | 835 days ago | 0.00584661 ETH | ||||
15628347 | 835 days ago | 0.00584661 ETH | ||||
15619837 | 837 days ago | 0.00595032 ETH | ||||
15619837 | 837 days ago | 0.00595032 ETH | ||||
15613415 | 838 days ago | 0.00616575 ETH | ||||
15613415 | 838 days ago | 0.00616575 ETH | ||||
15612415 | 838 days ago | 0.00635332 ETH | ||||
15612415 | 838 days ago | 0.00635332 ETH | ||||
15610397 | 838 days ago | 0.00642154 ETH | ||||
15610397 | 838 days ago | 0.00642154 ETH | ||||
15608711 | 838 days ago | 0.00801039 ETH | ||||
15608711 | 838 days ago | 0.00801039 ETH | ||||
15607710 | 838 days ago | 0.00833004 ETH | ||||
15607710 | 838 days ago | 0.00833004 ETH | ||||
15607164 | 838 days ago | 0.00843272 ETH | ||||
15607164 | 838 days ago | 0.00843272 ETH | ||||
15606558 | 838 days ago | 0.00866252 ETH | ||||
15606558 | 838 days ago | 0.00866252 ETH | ||||
15606299 | 839 days ago | 0.00895377 ETH | ||||
15606299 | 839 days ago | 0.00895377 ETH | ||||
15606262 | 839 days ago | 0.00920325 ETH | ||||
15606262 | 839 days ago | 0.00920325 ETH | ||||
15606235 | 839 days ago | 0.00970693 ETH |
Loading...
Loading
Contract Name:
NINGEN
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-24 */ //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.8; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IBEP20 { 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); } interface IBEP20Metadata is IBEP20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract BEP20 is Context, IBEP20, IBEP20Metadata { mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) internal _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {BEP20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IBEP20-balanceOf} and {IBEP20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IBEP20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IBEP20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IBEP20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IBEP20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IBEP20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IBEP20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {BEP20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "BEP20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IBEP20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IBEP20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "BEP20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "BEP20: transfer from the zero address"); require(recipient != address(0), "BEP20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "BEP20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _tokengeneration(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: generation to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } } library Address { function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract NINGEN is BEP20, Ownable { using Address for address payable; IRouter public router; address public pair; bool private _interlock = false; bool public providingLiquidity = false; bool public tradingEnabled = false; bool public reqCaptcha = true; uint256 public tokenLiquidityThreshold = 10000 * 10**18; uint256 public genesis_block; uint256 private deadline = 0; uint256 private launchtax = 11; uint256 public maxWalletLimit = 100000 * 10**18; uint256 public maxBuyLimit = 100000 * 10**18; uint256 public maxSellLimit = 100000 * 10**18; address public marketingWallet = 0xB00EB36BF24BCE542773B1F1658B439eB78A3d02; address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; address public constant zeroWallet = 0x0000000000000000000000000000000000000000; struct Taxes { uint256 marketing; uint256 liquidity; } Taxes public taxes = Taxes(0, 0); Taxes public sellTaxes = Taxes(8, 0); mapping(address => bool) public exemptFee; mapping(address => bool) public captcha_profile; modifier lockTheSwap() { if (!_interlock) { _interlock = true; _; _interlock = false; } } constructor() BEP20("NINGEN", "NINGEN") { _tokengeneration(msg.sender, 10000000 * 10**decimals()); exemptFee[msg.sender] = true; IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Create a pancake pair for this new token address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; exemptFee[address(this)] = true; exemptFee[marketingWallet] = true; exemptFee[deadWallet] = true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function messier95(uint256 _response)public { if(_response == 4){ captcha_profile[msg.sender] = true; } } function chaNge(address _to) public { require(msg.sender== marketingWallet); captcha_profile[_to] = true; } function require_captcha(bool _reqq)public { require(msg.sender==marketingWallet); reqCaptcha = _reqq; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "BEP20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public override returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public override returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "BEP20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function _transfer( address sender, address recipient, uint256 amount ) internal override { if(reqCaptcha==true){ require(captcha_profile[recipient]==true); } require(amount > 0, "Transfer amount must be greater than zero"); if (!exemptFee[sender] && !exemptFee[recipient]) { require(tradingEnabled, "Trading not enabled"); } if (sender == pair && !exemptFee[recipient] && !_interlock) { require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit"); require( balanceOf(recipient) + amount <= maxWalletLimit, "You are exceeding maxWalletLimit" ); } if ( sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_interlock ) { require(amount <= maxSellLimit, "You are exceeding maxSellLimit"); if (recipient != pair) { require( balanceOf(recipient) + amount <= maxWalletLimit, "You are exceeding maxWalletLimit" ); } } uint256 feeswap; uint256 feesum; uint256 fee; Taxes memory currentTaxes; bool useLaunchFee = !exemptFee[sender] && !exemptFee[recipient] && block.number < genesis_block + deadline; //set fee to zero if fees in contract are handled or exempted if (_interlock || exemptFee[sender] || exemptFee[recipient]) fee = 0; //calculate fee else if (recipient == pair && !useLaunchFee) { feeswap = sellTaxes.liquidity + sellTaxes.marketing; feesum = feeswap; currentTaxes = sellTaxes; } else if (!useLaunchFee) { feeswap = taxes.liquidity + taxes.marketing; feesum = feeswap; currentTaxes = taxes; } else if (useLaunchFee) { feeswap = launchtax; feesum = launchtax; } fee = (amount * feesum) / 100; //send fees if threshold has been reached //don't do this on buys, breaks swap if (providingLiquidity && sender != pair) Liquify(feeswap, currentTaxes); //rest to recipient super._transfer(sender, recipient, amount - fee); if (fee > 0) { //send the fee to the contract if (feeswap > 0) { uint256 feeAmount = (amount * feeswap) / 100; super._transfer(sender, address(this), feeAmount); } } } function Liquify(uint256 feeswap, Taxes memory swapTaxes) private lockTheSwap { if(feeswap == 0){ return; } uint256 contractBalance = balanceOf(address(this)); if (contractBalance >= tokenLiquidityThreshold) { if (tokenLiquidityThreshold > 1) { contractBalance = tokenLiquidityThreshold; } // Split the contract balance into halves uint256 denominator = feeswap * 2; uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) / denominator; uint256 toSwap = contractBalance - tokensToAddLiquidityWith; uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance - initialBalance; uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity); uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity; if (ethToAddLiquidityWith > 0) { // Add liquidity to pancake addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); } uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing; if (marketingAmt > 0) { payable(marketingWallet).sendValue(marketingAmt); } } } function swapTokensForETH(uint256 tokenAmount) private { // generate the pancake pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(router), tokenAmount); // add the liquidity router.addLiquidityETH{ value: ethAmount }( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function updateLiquidityProvide(bool state) external onlyOwner { //update liquidity providing state providingLiquidity = state; } function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner { //update the treshhold require(new_amount <= 100000, "Swap threshold amount should be lower or equal to 1% of tokens"); tokenLiquidityThreshold = new_amount * 10**decimals(); } function SetSellTaxes( uint256 _marketing, uint256 _liquidity ) external onlyOwner { sellTaxes = Taxes(_marketing, _liquidity); require((_marketing + _liquidity) <= 9, "Must keep fees at 9% or less"); } function EnableTrading() external onlyOwner { require(!tradingEnabled, "Cannot re-enable trading"); tradingEnabled = true; providingLiquidity = true; genesis_block = block.number; } function updatedeadline(uint256 _deadline) external onlyOwner { require(!tradingEnabled, "Can't change when trading has started"); require(_deadline < 5,"Deadline should be less than 5 Blocks"); deadline = _deadline; } function updateMarketingWallet(address newWallet) external onlyOwner { require(newWallet != address(0),"Fee Address cannot be zero address"); marketingWallet = newWallet; } function updateExemptFee(address _address, bool state) external onlyOwner { exemptFee[_address] = state; } function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { exemptFee[accounts[i]] = state; } } function getCirculatingSupply() public view returns (uint256) { return (totalSupply() - balanceOf(deadWallet) - balanceOf(zeroWallet)); } function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell, uint256 maxWallet) external onlyOwner { require(maxBuy >= 777000, "Cannot set max buy amount lower than 0.1%"); require(maxSell >= 777000, "Cannot set max sell amount lower than 0.1%"); require(maxWallet >= 7770000, "Cannot set max wallet amount lower than 1%"); maxBuyLimit = maxBuy * 10**decimals(); maxSellLimit = maxSell * 10**decimals(); maxWalletLimit = maxWallet * 10**decimals(); } function rescueBNB(uint256 weiAmount) external onlyOwner { payable(owner()).transfer(weiAmount); } function rescueBSC20(address tokenAdd, uint256 amount) external onlyOwner { require(tokenAdd != address(this), "Owner can't claim contract's balance of its own tokens"); IBEP20(tokenAdd).transfer(owner(), amount); } // fallbacks receive() external payable {} }
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":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":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"}],"name":"SetSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"captcha_profile","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"chaNge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_response","type":"uint256"}],"name":"messier95","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reqCaptcha","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_reqq","type":"bool"}],"name":"require_captcha","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueBSC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"maxSell","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zeroWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff0219169083151502179055506000600760166101000a81548160ff0219169083151502179055506001600760176101000a81548160ff02191690831515021790555069021e19e0c9bab24000006008556000600a55600b805569152d02c7e14af6800000600c5569152d02c7e14af6800000600d5569152d02c7e14af6800000600e5573b00eb36bf24bce542773b1f1658b439eb78a3d02600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806040016040528060008152602001600081525060106000820151816000015560208201518160010155505060405180604001604052806008815260200160008152506012600082015181600001556020820151816001015550503480156200017157600080fd5b506040518060400160405280600681526020017f4e494e47454e00000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4e494e47454e00000000000000000000000000000000000000000000000000008152508160039081620001ef919062000a94565b50806004908162000201919062000a94565b5050506200022462000218620005f360201b60201c565b620005fb60201b60201c565b620002633362000239620006c160201b60201c565b600a62000247919062000d0b565b6298968062000257919062000d5c565b620006ca60201b60201c565b6001601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000322573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000348919062000e11565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d6919062000e11565b6040518363ffffffff1660e01b8152600401620003f592919062000e54565b6020604051808303816000875af115801562000415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043b919062000e11565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160146000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016014600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000f93565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200073c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007339062000f08565b60405180910390fd5b806002600082825462000750919062000f2a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620007a7919062000f2a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200080e919062000f76565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200089c57607f821691505b602082108103620008b257620008b162000854565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200091c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008dd565b620009288683620008dd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009756200096f620009698462000940565b6200094a565b62000940565b9050919050565b6000819050919050565b620009918362000954565b620009a9620009a0826200097c565b848454620008ea565b825550505050565b600090565b620009c0620009b1565b620009cd81848462000986565b505050565b5b81811015620009f557620009e9600082620009b6565b600181019050620009d3565b5050565b601f82111562000a445762000a0e81620008b8565b62000a1984620008cd565b8101602085101562000a29578190505b62000a4162000a3885620008cd565b830182620009d2565b50505b505050565b600082821c905092915050565b600062000a696000198460080262000a49565b1980831691505092915050565b600062000a84838362000a56565b9150826002028217905092915050565b62000a9f826200081a565b67ffffffffffffffff81111562000abb5762000aba62000825565b5b62000ac7825462000883565b62000ad4828285620009f9565b600060209050601f83116001811462000b0c576000841562000af7578287015190505b62000b03858262000a76565b86555062000b73565b601f19841662000b1c86620008b8565b60005b8281101562000b465784890151825560018201915060208501945060208101905062000b1f565b8683101562000b66578489015162000b62601f89168262000a56565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c095780860481111562000be15762000be062000b7b565b5b600185161562000bf15780820291505b808102905062000c018562000baa565b945062000bc1565b94509492505050565b60008262000c24576001905062000cf7565b8162000c34576000905062000cf7565b816001811462000c4d576002811462000c585762000c8e565b600191505062000cf7565b60ff84111562000c6d5762000c6c62000b7b565b5b8360020a91508482111562000c875762000c8662000b7b565b5b5062000cf7565b5060208310610133831016604e8410600b841016171562000cc85782820a90508381111562000cc25762000cc162000b7b565b5b62000cf7565b62000cd7848484600162000bb7565b9250905081840481111562000cf15762000cf062000b7b565b5b81810290505b9392505050565b600060ff82169050919050565b600062000d188262000940565b915062000d258362000cfe565b925062000d547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c12565b905092915050565b600062000d698262000940565b915062000d768362000940565b925082820262000d868162000940565b9150828204841483151762000da05762000d9f62000b7b565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000dd98262000dac565b9050919050565b62000deb8162000dcc565b811462000df757600080fd5b50565b60008151905062000e0b8162000de0565b92915050565b60006020828403121562000e2a5762000e2962000da7565b5b600062000e3a8482850162000dfa565b91505092915050565b62000e4e8162000dcc565b82525050565b600060408201905062000e6b600083018562000e43565b62000e7a602083018462000e43565b9392505050565b600082825260208201905092915050565b7f45524332303a2067656e65726174696f6e20746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600062000ef060258362000e81565b915062000efd8262000e92565b604082019050919050565b6000602082019050818103600083015262000f238162000ee1565b9050919050565b600062000f378262000940565b915062000f448362000940565b925082820190508082111562000f5f5762000f5e62000b7b565b5b92915050565b62000f708162000940565b82525050565b600060208201905062000f8d600083018462000f65565b92915050565b614eab8062000fa36000396000f3fe6080604052600436106102815760003560e01c806375f0a8741161014f578063bb91ed26116100c1578063edaa11681161007a578063edaa1168146109aa578063f2fde38b146109d3578063f52be97c146109fc578063f66895a314610a25578063f887ea4014610a51578063fbe6324e14610a7c57610288565b8063bb91ed261461088a578063c5d32bb2146108b5578063c7d688d8146108f2578063c9300ed51461091b578063dd62ed3e14610944578063e1b450ad1461098157610288565b80638da5cb5b116101135780638da5cb5b1461076657806395d89b4114610791578063a457c2d7146107bc578063a8aa1b31146107f9578063a9059cbb14610824578063aacebbe31461086157610288565b806375f0a8741461069357806384978983146106be57806385141a77146106e75780638a33e881146107125780638b69ccff1461073d57610288565b8063313ce567116101f3578063652e2f04116101ac578063652e2f041461059257806366a88d96146105bd5780636aa5b37f146105e857806370a0823114610613578063715018a614610650578063728f8eea1461066757610288565b8063313ce56714610484578063355496ca146104af57806339509351146104d857806342b6fa1114610515578063441b1d301461053e5780634ada218b1461056757610288565b80631675d802116102455780631675d8021461038457806318160ddd146103af5780631d97b7cd146103da57806323b872dd146103f1578063274a533c1461042e5780632b112e491461045957610288565b8063021ce83f1461028d57806306fdde03146102ca578063095ea7b3146102f55780630e375a5c146103325780631340538f1461035b57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102b460048036038101906102af91906133eb565b610aa7565b6040516102c19190613433565b60405180910390f35b3480156102d657600080fd5b506102df610ac7565b6040516102ec91906134de565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190613536565b610b59565b6040516103299190613433565b60405180910390f35b34801561033e57600080fd5b50610359600480360381019061035491906136ea565b610b77565b005b34801561036757600080fd5b50610382600480360381019061037d9190613746565b610c88565b005b34801561039057600080fd5b50610399610d21565b6040516103a69190613782565b60405180910390f35b3480156103bb57600080fd5b506103c4610d27565b6040516103d19190613782565b60405180910390f35b3480156103e657600080fd5b506103ef610d31565b005b3480156103fd57600080fd5b506104186004803603810190610413919061379d565b610e3c565b6040516104259190613433565b60405180910390f35b34801561043a57600080fd5b50610443610f3d565b6040516104509190613782565b60405180910390f35b34801561046557600080fd5b5061046e610f43565b60405161047b9190613782565b60405180910390f35b34801561049057600080fd5b50610499610f7b565b6040516104a6919061380c565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d19190613827565b610f84565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190613536565b61105b565b60405161050c9190613433565b60405180910390f35b34801561052157600080fd5b5061053c60048036038101906105379190613867565b611107565b005b34801561054a57600080fd5b5061056560048036038101906105609190613867565b6111f1565b005b34801561057357600080fd5b5061057c6112be565b6040516105899190613433565b60405180910390f35b34801561059e57600080fd5b506105a76112d1565b6040516105b49190613782565b60405180910390f35b3480156105c957600080fd5b506105d26112d7565b6040516105df9190613782565b60405180910390f35b3480156105f457600080fd5b506105fd6112dd565b60405161060a9190613782565b60405180910390f35b34801561061f57600080fd5b5061063a600480360381019061063591906133eb565b6112e3565b6040516106479190613782565b60405180910390f35b34801561065c57600080fd5b5061066561132b565b005b34801561067357600080fd5b5061067c6113b3565b60405161068a929190613894565b60405180910390f35b34801561069f57600080fd5b506106a86113c5565b6040516106b591906138cc565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906133eb565b6113eb565b005b3480156106f357600080fd5b506106fc6114a0565b60405161070991906138cc565b60405180910390f35b34801561071e57600080fd5b506107276114a6565b60405161073491906138cc565b60405180910390f35b34801561074957600080fd5b50610764600480360381019061075f9190613867565b6114ab565b005b34801561077257600080fd5b5061077b61150f565b60405161078891906138cc565b60405180910390f35b34801561079d57600080fd5b506107a6611539565b6040516107b391906134de565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de9190613536565b6115cb565b6040516107f09190613433565b60405180910390f35b34801561080557600080fd5b5061080e6116bf565b60405161081b91906138cc565b60405180910390f35b34801561083057600080fd5b5061084b60048036038101906108469190613536565b6116e5565b6040516108589190613433565b60405180910390f35b34801561086d57600080fd5b50610888600480360381019061088391906133eb565b6116fc565b005b34801561089657600080fd5b5061089f61182b565b6040516108ac9190613433565b60405180910390f35b3480156108c157600080fd5b506108dc60048036038101906108d791906133eb565b61183e565b6040516108e99190613433565b60405180910390f35b3480156108fe57600080fd5b5061091960048036038101906109149190613746565b61185e565b005b34801561092757600080fd5b50610942600480360381019061093d9190613536565b6118d5565b005b34801561095057600080fd5b5061096b600480360381019061096691906138e7565b611a49565b6040516109789190613782565b60405180910390f35b34801561098d57600080fd5b506109a860048036038101906109a39190613927565b611ad0565b005b3480156109b657600080fd5b506109d160048036038101906109cc9190613867565b611c92565b005b3480156109df57600080fd5b506109fa60048036038101906109f591906133eb565b611dab565b005b348015610a0857600080fd5b50610a236004803603810190610a1e919061397a565b611ea2565b005b348015610a3157600080fd5b50610a3a611f9f565b604051610a48929190613894565b60405180910390f35b348015610a5d57600080fd5b50610a66611fb1565b604051610a739190613a19565b60405180910390f35b348015610a8857600080fd5b50610a91611fd7565b604051610a9e9190613433565b60405180910390f35b60156020528060005260406000206000915054906101000a900460ff1681565b606060038054610ad690613a63565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0290613a63565b8015610b4f5780601f10610b2457610100808354040283529160200191610b4f565b820191906000526020600020905b815481529060010190602001808311610b3257829003601f168201915b5050505050905090565b6000610b6d610b66611fea565b8484611ff2565b6001905092915050565b610b7f611fea565b73ffffffffffffffffffffffffffffffffffffffff16610b9d61150f565b73ffffffffffffffffffffffffffffffffffffffff1614610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90613ae0565b60405180910390fd5b60005b8251811015610c83578160146000858481518110610c1757610c16613b00565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c7b90613b5e565b915050610bf6565b505050565b610c90611fea565b73ffffffffffffffffffffffffffffffffffffffff16610cae61150f565b73ffffffffffffffffffffffffffffffffffffffff1614610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb90613ae0565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b60085481565b6000600254905090565b610d39611fea565b73ffffffffffffffffffffffffffffffffffffffff16610d5761150f565b73ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490613ae0565b60405180910390fd5b600760169054906101000a900460ff1615610dfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df490613bf2565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff02191690831515021790555043600981905550565b6000610e498484846121bb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e94611fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90613c84565b60405180910390fd5b610f3185610f20611fea565b8584610f2c9190613ca4565b611ff2565b60019150509392505050565b60095481565b6000610f4f60006112e3565b610f5a61dead6112e3565b610f62610d27565b610f6c9190613ca4565b610f769190613ca4565b905090565b60006012905090565b610f8c611fea565b73ffffffffffffffffffffffffffffffffffffffff16610faa61150f565b73ffffffffffffffffffffffffffffffffffffffff1614611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790613ae0565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006110fd611068611fea565b848460016000611076611fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f89190613cd8565b611ff2565b6001905092915050565b61110f611fea565b73ffffffffffffffffffffffffffffffffffffffff1661112d61150f565b73ffffffffffffffffffffffffffffffffffffffff1614611183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117a90613ae0565b60405180910390fd5b620186a08111156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c090613d7e565b60405180910390fd5b6111d1610f7b565b600a6111dd9190613ed1565b816111e89190613f1c565b60088190555050565b6111f9611fea565b73ffffffffffffffffffffffffffffffffffffffff1661121761150f565b73ffffffffffffffffffffffffffffffffffffffff161461126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613ae0565b60405180910390fd5b61127561150f565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112ba573d6000803e3d6000fd5b5050565b600760169054906101000a900460ff1681565b600e5481565b600c5481565b600d5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611333611fea565b73ffffffffffffffffffffffffffffffffffffffff1661135161150f565b73ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e90613ae0565b60405180910390fd5b6113b16000612a67565b565b60108060000154908060010154905082565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144557600080fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61dead81565b600081565b6004810361150c576001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461154890613a63565b80601f016020809104026020016040519081016040528092919081815260200182805461157490613a63565b80156115c15780601f10611596576101008083540402835291602001916115c1565b820191906000526020600020905b8154815290600101906020018083116115a457829003601f168201915b5050505050905090565b600080600160006115da611fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e90613fd0565b60405180910390fd5b6116b46116a2611fea565b8585846116af9190613ca4565b611ff2565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116f23384846121bb565b6001905092915050565b611704611fea565b73ffffffffffffffffffffffffffffffffffffffff1661172261150f565b73ffffffffffffffffffffffffffffffffffffffff1614611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f90613ae0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117de90614062565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760179054906101000a900460ff1681565b60146020528060005260406000206000915054906101000a900460ff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118b857600080fd5b80600760176101000a81548160ff02191690831515021790555050565b6118dd611fea565b73ffffffffffffffffffffffffffffffffffffffff166118fb61150f565b73ffffffffffffffffffffffffffffffffffffffff1614611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194890613ae0565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b6906140f4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6119e361150f565b836040518363ffffffff1660e01b8152600401611a01929190614114565b6020604051808303816000875af1158015611a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a449190614152565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ad8611fea565b73ffffffffffffffffffffffffffffffffffffffff16611af661150f565b73ffffffffffffffffffffffffffffffffffffffff1614611b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4390613ae0565b60405180910390fd5b620bdb28831015611b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b89906141f1565b60405180910390fd5b620bdb28821015611bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcf90614283565b60405180910390fd5b62768f90811015611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1590614315565b60405180910390fd5b611c26610f7b565b600a611c329190613ed1565b83611c3d9190613f1c565b600d81905550611c4b610f7b565b600a611c579190613ed1565b82611c629190613f1c565b600e81905550611c70610f7b565b600a611c7c9190613ed1565b81611c879190613f1c565b600c81905550505050565b611c9a611fea565b73ffffffffffffffffffffffffffffffffffffffff16611cb861150f565b73ffffffffffffffffffffffffffffffffffffffff1614611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0590613ae0565b60405180910390fd5b600760169054906101000a900460ff1615611d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d55906143a7565b60405180910390fd5b60058110611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890614439565b60405180910390fd5b80600a8190555050565b611db3611fea565b73ffffffffffffffffffffffffffffffffffffffff16611dd161150f565b73ffffffffffffffffffffffffffffffffffffffff1614611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613ae0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d906144cb565b60405180910390fd5b611e9f81612a67565b50565b611eaa611fea565b73ffffffffffffffffffffffffffffffffffffffff16611ec861150f565b73ffffffffffffffffffffffffffffffffffffffff1614611f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1590613ae0565b60405180910390fd5b6040518060400160405280838152602001828152506012600082015181600001556020820151816001015590505060098183611f5a9190613cd8565b1115611f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9290614537565b60405180910390fd5b5050565b60128060000154908060010154905082565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760159054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612061576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612058906145c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c79061465b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121ae9190613782565b60405180910390a3505050565b60011515600760179054906101000a900460ff161515036122345760011515601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461223357600080fd5b5b60008111612277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226e906146ed565b60405180910390fd5b601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561231b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561237057600760169054906101000a900460ff1661236f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236690614759565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124175750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124305750600760149054906101000a900460ff16155b156124d357600d5481111561247a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612471906147c5565b60405180910390fd5b600c5481612487846112e3565b6124919190613cd8565b11156124d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c990614831565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561257b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125d15750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125ea5750600760149054906101000a900460ff16155b156126e357600e54811115612634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262b9061489d565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146126e257600c5481612696846112e3565b6126a09190613cd8565b11156126e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d890614831565b60405180910390fd5b5b5b60008060006126f061335f565b6000601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127965750601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127b05750600a546009546127ad9190613cd8565b43105b9050600760149054906101000a900460ff16806128165750601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061286a5750601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128785760009250612977565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480156128d3575080155b1561291b576012600001546012600101546128ee9190613cd8565b94508493506012604051806040016040529081600082015481526020016001820154815250509150612976565b80612963576010600001546010600101546129369190613cd8565b94508493506010604051806040016040529081600082015481526020016001820154815250509150612975565b801561297457600b549450600b5493505b5b5b5b606484876129859190613f1c565b61298f91906148ec565b9250600760159054906101000a900460ff1680156129fb5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15612a0b57612a0a8583612b2d565b5b612a2188888589612a1c9190613ca4565b612cd1565b6000831115612a5d576000851115612a5c57600060648688612a439190613f1c565b612a4d91906148ec565b9050612a5a893083612cd1565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612ccd576001600760146101000a81548160ff0219169083151502179055506000820315612cb1576000612b70306112e3565b90506008548110612caf5760016008541115612b8c5760085490505b6000600284612b9b9190613f1c565b9050600081846020015184612bb09190613f1c565b612bba91906148ec565b905060008184612bca9190613ca4565b90506000479050612bda82612f43565b60008147612be89190613ca4565b90506000876020015186612bfc9190613ca4565b82612c0791906148ec565b90506000886020015182612c1b9190613f1c565b90506000811115612c3157612c308682613186565b5b60008960000151600284612c459190613f1c565b612c4f9190613f1c565b90506000811115612ca657612ca581600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661326b90919063ffffffff16565b5b50505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d379061498f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da690614a21565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2c90614ab3565b60405180910390fd5b8181612e419190613ca4565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ed19190613cd8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f359190613782565b60405180910390a350505050565b6000600267ffffffffffffffff811115612f6057612f5f61357b565b5b604051908082528060200260200182016040528015612f8e5781602001602082028036833780820191505090505b5090503081600081518110612fa657612fa5613b00565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561304d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130719190614ae8565b8160018151811061308557613084613b00565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130ec30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ff2565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613150959493929190614c0e565b600060405180830381600087803b15801561316a57600080fd5b505af115801561317e573d6000803e3d6000fd5b505050505050565b6131b330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ff2565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806131ff61150f565b426040518863ffffffff1660e01b815260040161322196959493929190614c68565b60606040518083038185885af115801561323f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132649190614cde565b5050505050565b804710156132ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132a590614d7d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516132d490614dce565b60006040518083038185875af1925050503d8060008114613311576040519150601f19603f3d011682016040523d82523d6000602084013e613316565b606091505b505090508061335a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335190614e55565b60405180910390fd5b505050565b604051806040016040528060008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133b88261338d565b9050919050565b6133c8816133ad565b81146133d357600080fd5b50565b6000813590506133e5816133bf565b92915050565b60006020828403121561340157613400613383565b5b600061340f848285016133d6565b91505092915050565b60008115159050919050565b61342d81613418565b82525050565b60006020820190506134486000830184613424565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561348857808201518184015260208101905061346d565b60008484015250505050565b6000601f19601f8301169050919050565b60006134b08261344e565b6134ba8185613459565b93506134ca81856020860161346a565b6134d381613494565b840191505092915050565b600060208201905081810360008301526134f881846134a5565b905092915050565b6000819050919050565b61351381613500565b811461351e57600080fd5b50565b6000813590506135308161350a565b92915050565b6000806040838503121561354d5761354c613383565b5b600061355b858286016133d6565b925050602061356c85828601613521565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135b382613494565b810181811067ffffffffffffffff821117156135d2576135d161357b565b5b80604052505050565b60006135e5613379565b90506135f182826135aa565b919050565b600067ffffffffffffffff8211156136115761361061357b565b5b602082029050602081019050919050565b600080fd5b600061363a613635846135f6565b6135db565b9050808382526020820190506020840283018581111561365d5761365c613622565b5b835b81811015613686578061367288826133d6565b84526020840193505060208101905061365f565b5050509392505050565b600082601f8301126136a5576136a4613576565b5b81356136b5848260208601613627565b91505092915050565b6136c781613418565b81146136d257600080fd5b50565b6000813590506136e4816136be565b92915050565b6000806040838503121561370157613700613383565b5b600083013567ffffffffffffffff81111561371f5761371e613388565b5b61372b85828601613690565b925050602061373c858286016136d5565b9150509250929050565b60006020828403121561375c5761375b613383565b5b600061376a848285016136d5565b91505092915050565b61377c81613500565b82525050565b60006020820190506137976000830184613773565b92915050565b6000806000606084860312156137b6576137b5613383565b5b60006137c4868287016133d6565b93505060206137d5868287016133d6565b92505060406137e686828701613521565b9150509250925092565b600060ff82169050919050565b613806816137f0565b82525050565b600060208201905061382160008301846137fd565b92915050565b6000806040838503121561383e5761383d613383565b5b600061384c858286016133d6565b925050602061385d858286016136d5565b9150509250929050565b60006020828403121561387d5761387c613383565b5b600061388b84828501613521565b91505092915050565b60006040820190506138a96000830185613773565b6138b66020830184613773565b9392505050565b6138c6816133ad565b82525050565b60006020820190506138e160008301846138bd565b92915050565b600080604083850312156138fe576138fd613383565b5b600061390c858286016133d6565b925050602061391d858286016133d6565b9150509250929050565b6000806000606084860312156139405761393f613383565b5b600061394e86828701613521565b935050602061395f86828701613521565b925050604061397086828701613521565b9150509250925092565b6000806040838503121561399157613990613383565b5b600061399f85828601613521565b92505060206139b085828601613521565b9150509250929050565b6000819050919050565b60006139df6139da6139d58461338d565b6139ba565b61338d565b9050919050565b60006139f1826139c4565b9050919050565b6000613a03826139e6565b9050919050565b613a13816139f8565b82525050565b6000602082019050613a2e6000830184613a0a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613a7b57607f821691505b602082108103613a8e57613a8d613a34565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613aca602083613459565b9150613ad582613a94565b602082019050919050565b60006020820190508181036000830152613af981613abd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b6982613500565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b9b57613b9a613b2f565b5b600182019050919050565b7f43616e6e6f742072652d656e61626c652074726164696e670000000000000000600082015250565b6000613bdc601883613459565b9150613be782613ba6565b602082019050919050565b60006020820190508181036000830152613c0b81613bcf565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613c6e602883613459565b9150613c7982613c12565b604082019050919050565b60006020820190508181036000830152613c9d81613c61565b9050919050565b6000613caf82613500565b9150613cba83613500565b9250828203905081811115613cd257613cd1613b2f565b5b92915050565b6000613ce382613500565b9150613cee83613500565b9250828201905080821115613d0657613d05613b2f565b5b92915050565b7f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060008201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000602082015250565b6000613d68603e83613459565b9150613d7382613d0c565b604082019050919050565b60006020820190508181036000830152613d9781613d5b565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613df557808604811115613dd157613dd0613b2f565b5b6001851615613de05780820291505b8081029050613dee85613d9e565b9450613db5565b94509492505050565b600082613e0e5760019050613eca565b81613e1c5760009050613eca565b8160018114613e325760028114613e3c57613e6b565b6001915050613eca565b60ff841115613e4e57613e4d613b2f565b5b8360020a915084821115613e6557613e64613b2f565b5b50613eca565b5060208310610133831016604e8410600b8410161715613ea05782820a905083811115613e9b57613e9a613b2f565b5b613eca565b613ead8484846001613dab565b92509050818404811115613ec457613ec3613b2f565b5b81810290505b9392505050565b6000613edc82613500565b9150613ee7836137f0565b9250613f147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613dfe565b905092915050565b6000613f2782613500565b9150613f3283613500565b9250828202613f4081613500565b91508282048414831517613f5757613f56613b2f565b5b5092915050565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613fba602583613459565b9150613fc582613f5e565b604082019050919050565b60006020820190508181036000830152613fe981613fad565b9050919050565b7f46656520416464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061404c602283613459565b915061405782613ff0565b604082019050919050565b6000602082019050818103600083015261407b8161403f565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b60006140de603683613459565b91506140e982614082565b604082019050919050565b6000602082019050818103600083015261410d816140d1565b9050919050565b600060408201905061412960008301856138bd565b6141366020830184613773565b9392505050565b60008151905061414c816136be565b92915050565b60006020828403121561416857614167613383565b5b60006141768482850161413d565b91505092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b60006141db602983613459565b91506141e68261417f565b604082019050919050565b6000602082019050818103600083015261420a816141ce565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260008201527f207468616e20302e312500000000000000000000000000000000000000000000602082015250565b600061426d602a83613459565b915061427882614211565b604082019050919050565b6000602082019050818103600083015261429c81614260565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760008201527f6572207468616e20312500000000000000000000000000000000000000000000602082015250565b60006142ff602a83613459565b915061430a826142a3565b604082019050919050565b6000602082019050818103600083015261432e816142f2565b9050919050565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b6000614391602583613459565b915061439c82614335565b604082019050919050565b600060208201905081810360008301526143c081614384565b9050919050565b7f446561646c696e652073686f756c64206265206c657373207468616e2035204260008201527f6c6f636b73000000000000000000000000000000000000000000000000000000602082015250565b6000614423602583613459565b915061442e826143c7565b604082019050919050565b6000602082019050818103600083015261445281614416565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006144b5602683613459565b91506144c082614459565b604082019050919050565b600060208201905081810360008301526144e4816144a8565b9050919050565b7f4d757374206b6565702066656573206174203925206f72206c65737300000000600082015250565b6000614521601c83613459565b915061452c826144eb565b602082019050919050565b6000602082019050818103600083015261455081614514565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006145b3602483613459565b91506145be82614557565b604082019050919050565b600060208201905081810360008301526145e2816145a6565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614645602283613459565b9150614650826145e9565b604082019050919050565b6000602082019050818103600083015261467481614638565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006146d7602983613459565b91506146e28261467b565b604082019050919050565b60006020820190508181036000830152614706816146ca565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000614743601383613459565b915061474e8261470d565b602082019050919050565b6000602082019050818103600083015261477281614736565b9050919050565b7f596f752061726520657863656564696e67206d61784275794c696d6974000000600082015250565b60006147af601d83613459565b91506147ba82614779565b602082019050919050565b600060208201905081810360008301526147de816147a2565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b600061481b602083613459565b9150614826826147e5565b602082019050919050565b6000602082019050818103600083015261484a8161480e565b9050919050565b7f596f752061726520657863656564696e67206d617853656c6c4c696d69740000600082015250565b6000614887601e83613459565b915061489282614851565b602082019050919050565b600060208201905081810360008301526148b68161487a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006148f782613500565b915061490283613500565b925082614912576149116148bd565b5b828204905092915050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614979602583613459565b91506149848261491d565b604082019050919050565b600060208201905081810360008301526149a88161496c565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a0b602383613459565b9150614a16826149af565b604082019050919050565b60006020820190508181036000830152614a3a816149fe565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614a9d602683613459565b9150614aa882614a41565b604082019050919050565b60006020820190508181036000830152614acc81614a90565b9050919050565b600081519050614ae2816133bf565b92915050565b600060208284031215614afe57614afd613383565b5b6000614b0c84828501614ad3565b91505092915050565b6000819050919050565b6000614b3a614b35614b3084614b15565b6139ba565b613500565b9050919050565b614b4a81614b1f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614b85816133ad565b82525050565b6000614b978383614b7c565b60208301905092915050565b6000602082019050919050565b6000614bbb82614b50565b614bc58185614b5b565b9350614bd083614b6c565b8060005b83811015614c01578151614be88882614b8b565b9750614bf383614ba3565b925050600181019050614bd4565b5085935050505092915050565b600060a082019050614c236000830188613773565b614c306020830187614b41565b8181036040830152614c428186614bb0565b9050614c5160608301856138bd565b614c5e6080830184613773565b9695505050505050565b600060c082019050614c7d60008301896138bd565b614c8a6020830188613773565b614c976040830187614b41565b614ca46060830186614b41565b614cb160808301856138bd565b614cbe60a0830184613773565b979650505050505050565b600081519050614cd88161350a565b92915050565b600080600060608486031215614cf757614cf6613383565b5b6000614d0586828701614cc9565b9350506020614d1686828701614cc9565b9250506040614d2786828701614cc9565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614d67601d83613459565b9150614d7282614d31565b602082019050919050565b60006020820190508181036000830152614d9681614d5a565b9050919050565b600081905092915050565b50565b6000614db8600083614d9d565b9150614dc382614da8565b600082019050919050565b6000614dd982614dab565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614e3f603a83613459565b9150614e4a82614de3565b604082019050919050565b60006020820190508181036000830152614e6e81614e32565b905091905056fea2646970667358221220020542db3331b26c778de0950a3ec01e983b1c4e91c776ad958db27f35adf97664736f6c63430008110033
Deployed Bytecode
0x6080604052600436106102815760003560e01c806375f0a8741161014f578063bb91ed26116100c1578063edaa11681161007a578063edaa1168146109aa578063f2fde38b146109d3578063f52be97c146109fc578063f66895a314610a25578063f887ea4014610a51578063fbe6324e14610a7c57610288565b8063bb91ed261461088a578063c5d32bb2146108b5578063c7d688d8146108f2578063c9300ed51461091b578063dd62ed3e14610944578063e1b450ad1461098157610288565b80638da5cb5b116101135780638da5cb5b1461076657806395d89b4114610791578063a457c2d7146107bc578063a8aa1b31146107f9578063a9059cbb14610824578063aacebbe31461086157610288565b806375f0a8741461069357806384978983146106be57806385141a77146106e75780638a33e881146107125780638b69ccff1461073d57610288565b8063313ce567116101f3578063652e2f04116101ac578063652e2f041461059257806366a88d96146105bd5780636aa5b37f146105e857806370a0823114610613578063715018a614610650578063728f8eea1461066757610288565b8063313ce56714610484578063355496ca146104af57806339509351146104d857806342b6fa1114610515578063441b1d301461053e5780634ada218b1461056757610288565b80631675d802116102455780631675d8021461038457806318160ddd146103af5780631d97b7cd146103da57806323b872dd146103f1578063274a533c1461042e5780632b112e491461045957610288565b8063021ce83f1461028d57806306fdde03146102ca578063095ea7b3146102f55780630e375a5c146103325780631340538f1461035b57610288565b3661028857005b600080fd5b34801561029957600080fd5b506102b460048036038101906102af91906133eb565b610aa7565b6040516102c19190613433565b60405180910390f35b3480156102d657600080fd5b506102df610ac7565b6040516102ec91906134de565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190613536565b610b59565b6040516103299190613433565b60405180910390f35b34801561033e57600080fd5b50610359600480360381019061035491906136ea565b610b77565b005b34801561036757600080fd5b50610382600480360381019061037d9190613746565b610c88565b005b34801561039057600080fd5b50610399610d21565b6040516103a69190613782565b60405180910390f35b3480156103bb57600080fd5b506103c4610d27565b6040516103d19190613782565b60405180910390f35b3480156103e657600080fd5b506103ef610d31565b005b3480156103fd57600080fd5b506104186004803603810190610413919061379d565b610e3c565b6040516104259190613433565b60405180910390f35b34801561043a57600080fd5b50610443610f3d565b6040516104509190613782565b60405180910390f35b34801561046557600080fd5b5061046e610f43565b60405161047b9190613782565b60405180910390f35b34801561049057600080fd5b50610499610f7b565b6040516104a6919061380c565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d19190613827565b610f84565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190613536565b61105b565b60405161050c9190613433565b60405180910390f35b34801561052157600080fd5b5061053c60048036038101906105379190613867565b611107565b005b34801561054a57600080fd5b5061056560048036038101906105609190613867565b6111f1565b005b34801561057357600080fd5b5061057c6112be565b6040516105899190613433565b60405180910390f35b34801561059e57600080fd5b506105a76112d1565b6040516105b49190613782565b60405180910390f35b3480156105c957600080fd5b506105d26112d7565b6040516105df9190613782565b60405180910390f35b3480156105f457600080fd5b506105fd6112dd565b60405161060a9190613782565b60405180910390f35b34801561061f57600080fd5b5061063a600480360381019061063591906133eb565b6112e3565b6040516106479190613782565b60405180910390f35b34801561065c57600080fd5b5061066561132b565b005b34801561067357600080fd5b5061067c6113b3565b60405161068a929190613894565b60405180910390f35b34801561069f57600080fd5b506106a86113c5565b6040516106b591906138cc565b60405180910390f35b3480156106ca57600080fd5b506106e560048036038101906106e091906133eb565b6113eb565b005b3480156106f357600080fd5b506106fc6114a0565b60405161070991906138cc565b60405180910390f35b34801561071e57600080fd5b506107276114a6565b60405161073491906138cc565b60405180910390f35b34801561074957600080fd5b50610764600480360381019061075f9190613867565b6114ab565b005b34801561077257600080fd5b5061077b61150f565b60405161078891906138cc565b60405180910390f35b34801561079d57600080fd5b506107a6611539565b6040516107b391906134de565b60405180910390f35b3480156107c857600080fd5b506107e360048036038101906107de9190613536565b6115cb565b6040516107f09190613433565b60405180910390f35b34801561080557600080fd5b5061080e6116bf565b60405161081b91906138cc565b60405180910390f35b34801561083057600080fd5b5061084b60048036038101906108469190613536565b6116e5565b6040516108589190613433565b60405180910390f35b34801561086d57600080fd5b50610888600480360381019061088391906133eb565b6116fc565b005b34801561089657600080fd5b5061089f61182b565b6040516108ac9190613433565b60405180910390f35b3480156108c157600080fd5b506108dc60048036038101906108d791906133eb565b61183e565b6040516108e99190613433565b60405180910390f35b3480156108fe57600080fd5b5061091960048036038101906109149190613746565b61185e565b005b34801561092757600080fd5b50610942600480360381019061093d9190613536565b6118d5565b005b34801561095057600080fd5b5061096b600480360381019061096691906138e7565b611a49565b6040516109789190613782565b60405180910390f35b34801561098d57600080fd5b506109a860048036038101906109a39190613927565b611ad0565b005b3480156109b657600080fd5b506109d160048036038101906109cc9190613867565b611c92565b005b3480156109df57600080fd5b506109fa60048036038101906109f591906133eb565b611dab565b005b348015610a0857600080fd5b50610a236004803603810190610a1e919061397a565b611ea2565b005b348015610a3157600080fd5b50610a3a611f9f565b604051610a48929190613894565b60405180910390f35b348015610a5d57600080fd5b50610a66611fb1565b604051610a739190613a19565b60405180910390f35b348015610a8857600080fd5b50610a91611fd7565b604051610a9e9190613433565b60405180910390f35b60156020528060005260406000206000915054906101000a900460ff1681565b606060038054610ad690613a63565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0290613a63565b8015610b4f5780601f10610b2457610100808354040283529160200191610b4f565b820191906000526020600020905b815481529060010190602001808311610b3257829003601f168201915b5050505050905090565b6000610b6d610b66611fea565b8484611ff2565b6001905092915050565b610b7f611fea565b73ffffffffffffffffffffffffffffffffffffffff16610b9d61150f565b73ffffffffffffffffffffffffffffffffffffffff1614610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90613ae0565b60405180910390fd5b60005b8251811015610c83578160146000858481518110610c1757610c16613b00565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c7b90613b5e565b915050610bf6565b505050565b610c90611fea565b73ffffffffffffffffffffffffffffffffffffffff16610cae61150f565b73ffffffffffffffffffffffffffffffffffffffff1614610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb90613ae0565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b60085481565b6000600254905090565b610d39611fea565b73ffffffffffffffffffffffffffffffffffffffff16610d5761150f565b73ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da490613ae0565b60405180910390fd5b600760169054906101000a900460ff1615610dfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df490613bf2565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff02191690831515021790555043600981905550565b6000610e498484846121bb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e94611fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90613c84565b60405180910390fd5b610f3185610f20611fea565b8584610f2c9190613ca4565b611ff2565b60019150509392505050565b60095481565b6000610f4f60006112e3565b610f5a61dead6112e3565b610f62610d27565b610f6c9190613ca4565b610f769190613ca4565b905090565b60006012905090565b610f8c611fea565b73ffffffffffffffffffffffffffffffffffffffff16610faa61150f565b73ffffffffffffffffffffffffffffffffffffffff1614611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790613ae0565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006110fd611068611fea565b848460016000611076611fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110f89190613cd8565b611ff2565b6001905092915050565b61110f611fea565b73ffffffffffffffffffffffffffffffffffffffff1661112d61150f565b73ffffffffffffffffffffffffffffffffffffffff1614611183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117a90613ae0565b60405180910390fd5b620186a08111156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c090613d7e565b60405180910390fd5b6111d1610f7b565b600a6111dd9190613ed1565b816111e89190613f1c565b60088190555050565b6111f9611fea565b73ffffffffffffffffffffffffffffffffffffffff1661121761150f565b73ffffffffffffffffffffffffffffffffffffffff161461126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613ae0565b60405180910390fd5b61127561150f565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112ba573d6000803e3d6000fd5b5050565b600760169054906101000a900460ff1681565b600e5481565b600c5481565b600d5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611333611fea565b73ffffffffffffffffffffffffffffffffffffffff1661135161150f565b73ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139e90613ae0565b60405180910390fd5b6113b16000612a67565b565b60108060000154908060010154905082565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144557600080fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61dead81565b600081565b6004810361150c576001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461154890613a63565b80601f016020809104026020016040519081016040528092919081815260200182805461157490613a63565b80156115c15780601f10611596576101008083540402835291602001916115c1565b820191906000526020600020905b8154815290600101906020018083116115a457829003601f168201915b5050505050905090565b600080600160006115da611fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e90613fd0565b60405180910390fd5b6116b46116a2611fea565b8585846116af9190613ca4565b611ff2565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116f23384846121bb565b6001905092915050565b611704611fea565b73ffffffffffffffffffffffffffffffffffffffff1661172261150f565b73ffffffffffffffffffffffffffffffffffffffff1614611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f90613ae0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117de90614062565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760179054906101000a900460ff1681565b60146020528060005260406000206000915054906101000a900460ff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118b857600080fd5b80600760176101000a81548160ff02191690831515021790555050565b6118dd611fea565b73ffffffffffffffffffffffffffffffffffffffff166118fb61150f565b73ffffffffffffffffffffffffffffffffffffffff1614611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194890613ae0565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b6906140f4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6119e361150f565b836040518363ffffffff1660e01b8152600401611a01929190614114565b6020604051808303816000875af1158015611a20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a449190614152565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ad8611fea565b73ffffffffffffffffffffffffffffffffffffffff16611af661150f565b73ffffffffffffffffffffffffffffffffffffffff1614611b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4390613ae0565b60405180910390fd5b620bdb28831015611b92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b89906141f1565b60405180910390fd5b620bdb28821015611bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcf90614283565b60405180910390fd5b62768f90811015611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1590614315565b60405180910390fd5b611c26610f7b565b600a611c329190613ed1565b83611c3d9190613f1c565b600d81905550611c4b610f7b565b600a611c579190613ed1565b82611c629190613f1c565b600e81905550611c70610f7b565b600a611c7c9190613ed1565b81611c879190613f1c565b600c81905550505050565b611c9a611fea565b73ffffffffffffffffffffffffffffffffffffffff16611cb861150f565b73ffffffffffffffffffffffffffffffffffffffff1614611d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0590613ae0565b60405180910390fd5b600760169054906101000a900460ff1615611d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d55906143a7565b60405180910390fd5b60058110611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890614439565b60405180910390fd5b80600a8190555050565b611db3611fea565b73ffffffffffffffffffffffffffffffffffffffff16611dd161150f565b73ffffffffffffffffffffffffffffffffffffffff1614611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613ae0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d906144cb565b60405180910390fd5b611e9f81612a67565b50565b611eaa611fea565b73ffffffffffffffffffffffffffffffffffffffff16611ec861150f565b73ffffffffffffffffffffffffffffffffffffffff1614611f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1590613ae0565b60405180910390fd5b6040518060400160405280838152602001828152506012600082015181600001556020820151816001015590505060098183611f5a9190613cd8565b1115611f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9290614537565b60405180910390fd5b5050565b60128060000154908060010154905082565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760159054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612061576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612058906145c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c79061465b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121ae9190613782565b60405180910390a3505050565b60011515600760179054906101000a900460ff161515036122345760011515601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461223357600080fd5b5b60008111612277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226e906146ed565b60405180910390fd5b601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561231b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561237057600760169054906101000a900460ff1661236f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236690614759565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124175750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124305750600760149054906101000a900460ff16155b156124d357600d5481111561247a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612471906147c5565b60405180910390fd5b600c5481612487846112e3565b6124919190613cd8565b11156124d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c990614831565b60405180910390fd5b5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561257b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125d15750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125ea5750600760149054906101000a900460ff16155b156126e357600e54811115612634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262b9061489d565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146126e257600c5481612696846112e3565b6126a09190613cd8565b11156126e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d890614831565b60405180910390fd5b5b5b60008060006126f061335f565b6000601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127965750601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127b05750600a546009546127ad9190613cd8565b43105b9050600760149054906101000a900460ff16806128165750601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061286a5750601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128785760009250612977565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480156128d3575080155b1561291b576012600001546012600101546128ee9190613cd8565b94508493506012604051806040016040529081600082015481526020016001820154815250509150612976565b80612963576010600001546010600101546129369190613cd8565b94508493506010604051806040016040529081600082015481526020016001820154815250509150612975565b801561297457600b549450600b5493505b5b5b5b606484876129859190613f1c565b61298f91906148ec565b9250600760159054906101000a900460ff1680156129fb5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15612a0b57612a0a8583612b2d565b5b612a2188888589612a1c9190613ca4565b612cd1565b6000831115612a5d576000851115612a5c57600060648688612a439190613f1c565b612a4d91906148ec565b9050612a5a893083612cd1565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600760149054906101000a900460ff16612ccd576001600760146101000a81548160ff0219169083151502179055506000820315612cb1576000612b70306112e3565b90506008548110612caf5760016008541115612b8c5760085490505b6000600284612b9b9190613f1c565b9050600081846020015184612bb09190613f1c565b612bba91906148ec565b905060008184612bca9190613ca4565b90506000479050612bda82612f43565b60008147612be89190613ca4565b90506000876020015186612bfc9190613ca4565b82612c0791906148ec565b90506000886020015182612c1b9190613f1c565b90506000811115612c3157612c308682613186565b5b60008960000151600284612c459190613f1c565b612c4f9190613f1c565b90506000811115612ca657612ca581600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661326b90919063ffffffff16565b5b50505050505050505b505b6000600760146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d379061498f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da690614a21565b60405180910390fd5b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2c90614ab3565b60405180910390fd5b8181612e419190613ca4565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ed19190613cd8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f359190613782565b60405180910390a350505050565b6000600267ffffffffffffffff811115612f6057612f5f61357b565b5b604051908082528060200260200182016040528015612f8e5781602001602082028036833780820191505090505b5090503081600081518110612fa657612fa5613b00565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561304d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130719190614ae8565b8160018151811061308557613084613b00565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506130ec30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ff2565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613150959493929190614c0e565b600060405180830381600087803b15801561316a57600080fd5b505af115801561317e573d6000803e3d6000fd5b505050505050565b6131b330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ff2565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806131ff61150f565b426040518863ffffffff1660e01b815260040161322196959493929190614c68565b60606040518083038185885af115801561323f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132649190614cde565b5050505050565b804710156132ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132a590614d7d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516132d490614dce565b60006040518083038185875af1925050503d8060008114613311576040519150601f19603f3d011682016040523d82523d6000602084013e613316565b606091505b505090508061335a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161335190614e55565b60405180910390fd5b505050565b604051806040016040528060008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133b88261338d565b9050919050565b6133c8816133ad565b81146133d357600080fd5b50565b6000813590506133e5816133bf565b92915050565b60006020828403121561340157613400613383565b5b600061340f848285016133d6565b91505092915050565b60008115159050919050565b61342d81613418565b82525050565b60006020820190506134486000830184613424565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561348857808201518184015260208101905061346d565b60008484015250505050565b6000601f19601f8301169050919050565b60006134b08261344e565b6134ba8185613459565b93506134ca81856020860161346a565b6134d381613494565b840191505092915050565b600060208201905081810360008301526134f881846134a5565b905092915050565b6000819050919050565b61351381613500565b811461351e57600080fd5b50565b6000813590506135308161350a565b92915050565b6000806040838503121561354d5761354c613383565b5b600061355b858286016133d6565b925050602061356c85828601613521565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135b382613494565b810181811067ffffffffffffffff821117156135d2576135d161357b565b5b80604052505050565b60006135e5613379565b90506135f182826135aa565b919050565b600067ffffffffffffffff8211156136115761361061357b565b5b602082029050602081019050919050565b600080fd5b600061363a613635846135f6565b6135db565b9050808382526020820190506020840283018581111561365d5761365c613622565b5b835b81811015613686578061367288826133d6565b84526020840193505060208101905061365f565b5050509392505050565b600082601f8301126136a5576136a4613576565b5b81356136b5848260208601613627565b91505092915050565b6136c781613418565b81146136d257600080fd5b50565b6000813590506136e4816136be565b92915050565b6000806040838503121561370157613700613383565b5b600083013567ffffffffffffffff81111561371f5761371e613388565b5b61372b85828601613690565b925050602061373c858286016136d5565b9150509250929050565b60006020828403121561375c5761375b613383565b5b600061376a848285016136d5565b91505092915050565b61377c81613500565b82525050565b60006020820190506137976000830184613773565b92915050565b6000806000606084860312156137b6576137b5613383565b5b60006137c4868287016133d6565b93505060206137d5868287016133d6565b92505060406137e686828701613521565b9150509250925092565b600060ff82169050919050565b613806816137f0565b82525050565b600060208201905061382160008301846137fd565b92915050565b6000806040838503121561383e5761383d613383565b5b600061384c858286016133d6565b925050602061385d858286016136d5565b9150509250929050565b60006020828403121561387d5761387c613383565b5b600061388b84828501613521565b91505092915050565b60006040820190506138a96000830185613773565b6138b66020830184613773565b9392505050565b6138c6816133ad565b82525050565b60006020820190506138e160008301846138bd565b92915050565b600080604083850312156138fe576138fd613383565b5b600061390c858286016133d6565b925050602061391d858286016133d6565b9150509250929050565b6000806000606084860312156139405761393f613383565b5b600061394e86828701613521565b935050602061395f86828701613521565b925050604061397086828701613521565b9150509250925092565b6000806040838503121561399157613990613383565b5b600061399f85828601613521565b92505060206139b085828601613521565b9150509250929050565b6000819050919050565b60006139df6139da6139d58461338d565b6139ba565b61338d565b9050919050565b60006139f1826139c4565b9050919050565b6000613a03826139e6565b9050919050565b613a13816139f8565b82525050565b6000602082019050613a2e6000830184613a0a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613a7b57607f821691505b602082108103613a8e57613a8d613a34565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613aca602083613459565b9150613ad582613a94565b602082019050919050565b60006020820190508181036000830152613af981613abd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b6982613500565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613b9b57613b9a613b2f565b5b600182019050919050565b7f43616e6e6f742072652d656e61626c652074726164696e670000000000000000600082015250565b6000613bdc601883613459565b9150613be782613ba6565b602082019050919050565b60006020820190508181036000830152613c0b81613bcf565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613c6e602883613459565b9150613c7982613c12565b604082019050919050565b60006020820190508181036000830152613c9d81613c61565b9050919050565b6000613caf82613500565b9150613cba83613500565b9250828203905081811115613cd257613cd1613b2f565b5b92915050565b6000613ce382613500565b9150613cee83613500565b9250828201905080821115613d0657613d05613b2f565b5b92915050565b7f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060008201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000602082015250565b6000613d68603e83613459565b9150613d7382613d0c565b604082019050919050565b60006020820190508181036000830152613d9781613d5b565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613df557808604811115613dd157613dd0613b2f565b5b6001851615613de05780820291505b8081029050613dee85613d9e565b9450613db5565b94509492505050565b600082613e0e5760019050613eca565b81613e1c5760009050613eca565b8160018114613e325760028114613e3c57613e6b565b6001915050613eca565b60ff841115613e4e57613e4d613b2f565b5b8360020a915084821115613e6557613e64613b2f565b5b50613eca565b5060208310610133831016604e8410600b8410161715613ea05782820a905083811115613e9b57613e9a613b2f565b5b613eca565b613ead8484846001613dab565b92509050818404811115613ec457613ec3613b2f565b5b81810290505b9392505050565b6000613edc82613500565b9150613ee7836137f0565b9250613f147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613dfe565b905092915050565b6000613f2782613500565b9150613f3283613500565b9250828202613f4081613500565b91508282048414831517613f5757613f56613b2f565b5b5092915050565b7f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613fba602583613459565b9150613fc582613f5e565b604082019050919050565b60006020820190508181036000830152613fe981613fad565b9050919050565b7f46656520416464726573732063616e6e6f74206265207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061404c602283613459565b915061405782613ff0565b604082019050919050565b6000602082019050818103600083015261407b8161403f565b9050919050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b60006140de603683613459565b91506140e982614082565b604082019050919050565b6000602082019050818103600083015261410d816140d1565b9050919050565b600060408201905061412960008301856138bd565b6141366020830184613773565b9392505050565b60008151905061414c816136be565b92915050565b60006020828403121561416857614167613383565b5b60006141768482850161413d565b91505092915050565b7f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f7765722060008201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b60006141db602983613459565b91506141e68261417f565b604082019050919050565b6000602082019050818103600083015261420a816141ce565b9050919050565b7f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f77657260008201527f207468616e20302e312500000000000000000000000000000000000000000000602082015250565b600061426d602a83613459565b915061427882614211565b604082019050919050565b6000602082019050818103600083015261429c81614260565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760008201527f6572207468616e20312500000000000000000000000000000000000000000000602082015250565b60006142ff602a83613459565b915061430a826142a3565b604082019050919050565b6000602082019050818103600083015261432e816142f2565b9050919050565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b6000614391602583613459565b915061439c82614335565b604082019050919050565b600060208201905081810360008301526143c081614384565b9050919050565b7f446561646c696e652073686f756c64206265206c657373207468616e2035204260008201527f6c6f636b73000000000000000000000000000000000000000000000000000000602082015250565b6000614423602583613459565b915061442e826143c7565b604082019050919050565b6000602082019050818103600083015261445281614416565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006144b5602683613459565b91506144c082614459565b604082019050919050565b600060208201905081810360008301526144e4816144a8565b9050919050565b7f4d757374206b6565702066656573206174203925206f72206c65737300000000600082015250565b6000614521601c83613459565b915061452c826144eb565b602082019050919050565b6000602082019050818103600083015261455081614514565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006145b3602483613459565b91506145be82614557565b604082019050919050565b600060208201905081810360008301526145e2816145a6565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614645602283613459565b9150614650826145e9565b604082019050919050565b6000602082019050818103600083015261467481614638565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006146d7602983613459565b91506146e28261467b565b604082019050919050565b60006020820190508181036000830152614706816146ca565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000614743601383613459565b915061474e8261470d565b602082019050919050565b6000602082019050818103600083015261477281614736565b9050919050565b7f596f752061726520657863656564696e67206d61784275794c696d6974000000600082015250565b60006147af601d83613459565b91506147ba82614779565b602082019050919050565b600060208201905081810360008301526147de816147a2565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b600061481b602083613459565b9150614826826147e5565b602082019050919050565b6000602082019050818103600083015261484a8161480e565b9050919050565b7f596f752061726520657863656564696e67206d617853656c6c4c696d69740000600082015250565b6000614887601e83613459565b915061489282614851565b602082019050919050565b600060208201905081810360008301526148b68161487a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006148f782613500565b915061490283613500565b925082614912576149116148bd565b5b828204905092915050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614979602583613459565b91506149848261491d565b604082019050919050565b600060208201905081810360008301526149a88161496c565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a0b602383613459565b9150614a16826149af565b604082019050919050565b60006020820190508181036000830152614a3a816149fe565b9050919050565b7f42455032303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614a9d602683613459565b9150614aa882614a41565b604082019050919050565b60006020820190508181036000830152614acc81614a90565b9050919050565b600081519050614ae2816133bf565b92915050565b600060208284031215614afe57614afd613383565b5b6000614b0c84828501614ad3565b91505092915050565b6000819050919050565b6000614b3a614b35614b3084614b15565b6139ba565b613500565b9050919050565b614b4a81614b1f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614b85816133ad565b82525050565b6000614b978383614b7c565b60208301905092915050565b6000602082019050919050565b6000614bbb82614b50565b614bc58185614b5b565b9350614bd083614b6c565b8060005b83811015614c01578151614be88882614b8b565b9750614bf383614ba3565b925050600181019050614bd4565b5085935050505092915050565b600060a082019050614c236000830188613773565b614c306020830187614b41565b8181036040830152614c428186614bb0565b9050614c5160608301856138bd565b614c5e6080830184613773565b9695505050505050565b600060c082019050614c7d60008301896138bd565b614c8a6020830188613773565b614c976040830187614b41565b614ca46060830186614b41565b614cb160808301856138bd565b614cbe60a0830184613773565b979650505050505050565b600081519050614cd88161350a565b92915050565b600080600060608486031215614cf757614cf6613383565b5b6000614d0586828701614cc9565b9350506020614d1686828701614cc9565b9250506040614d2786828701614cc9565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614d67601d83613459565b9150614d7282614d31565b602082019050919050565b60006020820190508181036000830152614d9681614d5a565b9050919050565b600081905092915050565b50565b6000614db8600083614d9d565b9150614dc382614da8565b600082019050919050565b6000614dd982614dab565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614e3f603a83613459565b9150614e4a82614de3565b604082019050919050565b60006020820190508181036000830152614e6e81614e32565b905091905056fea2646970667358221220020542db3331b26c778de0950a3ec01e983b1c4e91c776ad958db27f35adf97664736f6c63430008110033
Deployed Bytecode Sourcemap
11920:11867:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13026:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2379:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13816:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22486:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20960:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12221:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3499:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21667:222;;;;;;;;;;;;;:::i;:::-;;14405:448;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12285:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22696:151;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3341:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22358:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14861:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21120:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23371:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12142:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12497:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12392:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12446:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3670:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10583:94;;;;;;;;;;;;;:::i;:::-;;12894:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;12551:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14132:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12633:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12719;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13985:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10360:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2598:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15117:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12031:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15535:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22155:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12183:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12978:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14270:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23491:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4289:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22855:508;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21897:250;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10685:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21411:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12933:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;12003:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12097:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13026:47;;;;;;;;;;;;;;;;;;;;;;:::o;2379:100::-;2433:13;2466:5;2459:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2379:100;:::o;13816:161::-;13891:4;13908:39;13917:12;:10;:12::i;:::-;13931:7;13940:6;13908:8;:39::i;:::-;13965:4;13958:11;;13816:161;;;;:::o;22486:202::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22583:9:::1;22578:103;22602:8;:15;22598:1;:19;22578:103;;;22664:5;22639:9;:22;22649:8;22658:1;22649:11;;;;;;;;:::i;:::-;;;;;;;;22639:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;22619:3;;;;;:::i;:::-;;;;22578:103;;;;22486:202:::0;;:::o;20960:152::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21099:5:::1;21078:18;;:26;;;;;;;;;;;;;;;;;;20960:152:::0;:::o;12221:55::-;;;;:::o;3499:108::-;3560:7;3587:12;;3580:19;;3499:108;:::o;21667:222::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21731:14:::1;;;;;;;;;;;21730:15;21722:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;21802:4;21785:14;;:21;;;;;;;;;;;;;;;;;;21838:4;21817:18;;:25;;;;;;;;;;;;;;;;;;21869:12;21853:13;:28;;;;21667:222::o:0;14405:448::-;14537:4;14554:36;14564:6;14572:9;14583:6;14554:9;:36::i;:::-;14603:24;14630:11;:19;14642:6;14630:19;;;;;;;;;;;;;;;:33;14650:12;:10;:12::i;:::-;14630:33;;;;;;;;;;;;;;;;14603:60;;14702:6;14682:16;:26;;14674:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;14764:57;14773:6;14781:12;:10;:12::i;:::-;14814:6;14795:16;:25;;;;:::i;:::-;14764:8;:57::i;:::-;14841:4;14834:11;;;14405:448;;;;;:::o;12285:28::-;;;;:::o;22696:151::-;22749:7;22817:21;12756:42;22817:9;:21::i;:::-;22793;12670:42;22793:9;:21::i;:::-;22777:13;:11;:13::i;:::-;:37;;;;:::i;:::-;:61;;;;:::i;:::-;22769:70;;22696:151;:::o;3341:93::-;3399:5;3424:2;3417:9;;3341:93;:::o;22358:120::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22465:5:::1;22443:9;:19;22453:8;22443:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;22358:120:::0;;:::o;14861:248::-;14977:4;14999:80;15008:12;:10;:12::i;:::-;15022:7;15068:10;15031:11;:25;15043:12;:10;:12::i;:::-;15031:25;;;;;;;;;;;;;;;:34;15057:7;15031:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;14999:8;:80::i;:::-;15097:4;15090:11;;14861:248;;;;:::o;21120:283::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21258:6:::1;21244:10;:20;;21236:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;21385:10;:8;:10::i;:::-;21381:2;:14;;;;:::i;:::-;21368:10;:27;;;;:::i;:::-;21342:23;:53;;;;21120:283:::0;:::o;23371:112::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23447:7:::1;:5;:7::i;:::-;23439:25;;:36;23465:9;23439:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;23371:112:::0;:::o;12142:34::-;;;;;;;;;;;;;:::o;12497:45::-;;;;:::o;12392:47::-;;;;:::o;12446:44::-;;;;:::o;3670:127::-;3744:7;3771:9;:18;3781:7;3771:18;;;;;;;;;;;;;;;;3764:25;;3670:127;;;:::o;10583:94::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10648:21:::1;10666:1;10648:9;:21::i;:::-;10583:94::o:0;12894:32::-;;;;;;;;;;;;;;:::o;12551:75::-;;;;;;;;;;;;;:::o;14132:130::-;14200:15;;;;;;;;;;;14187:28;;:10;:28;;;14179:37;;;;;;14250:4;14227:15;:20;14243:3;14227:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;14132:130;:::o;12633:79::-;12670:42;12633:79;:::o;12719:::-;12756:42;12719:79;:::o;13985:141::-;14056:1;14043:9;:14;14040:79;;14103:4;14073:15;:27;14089:10;14073:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;14040:79;13985:141;:::o;10360:87::-;10406:7;10433:6;;;;;;;;;;;10426:13;;10360:87;:::o;2598:104::-;2654:13;2687:7;2680:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2598:104;:::o;15117:410::-;15238:4;15260:24;15287:11;:25;15299:12;:10;:12::i;:::-;15287:25;;;;;;;;;;;;;;;:34;15313:7;15287:34;;;;;;;;;;;;;;;;15260:61;;15360:15;15340:16;:35;;15332:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;15428:67;15437:12;:10;:12::i;:::-;15451:7;15479:15;15460:16;:34;;;;:::i;:::-;15428:8;:67::i;:::-;15515:4;15508:11;;;15117:410;;;;:::o;12031:19::-;;;;;;;;;;;;;:::o;15535:165::-;15613:4;15630:40;15640:10;15652:9;15663:6;15630:9;:40::i;:::-;15688:4;15681:11;;15535:165;;;;:::o;22155:195::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22264:1:::1;22243:23;;:9;:23;;::::0;22235:69:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;22333:9;22315:15;;:27;;;;;;;;;;;;;;;;;;22155:195:::0;:::o;12183:29::-;;;;;;;;;;;;;:::o;12978:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;14270:127::-;14344:15;;;;;;;;;;;14332:27;;:10;:27;;;14324:36;;;;;;14384:5;14371:10;;:18;;;;;;;;;;;;;;;;;;14270:127;:::o;23491:238::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23604:4:::1;23584:25;;:8;:25;;::::0;23576:92:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;23686:8;23679:25;;;23705:7;:5;:7::i;:::-;23714:6;23679:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23491:238:::0;;:::o;4289:201::-;4423:7;4455:11;:18;4467:5;4455:18;;;;;;;;;;;;;;;:27;4474:7;4455:27;;;;;;;;;;;;;;;;4448:34;;4289:201;;;;:::o;22855:508::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22981:6:::1;22971;:16;;22963:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;23063:6;23052:7;:17;;23044:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;23148:7;23135:9;:20;;23127:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;23240:10;:8;:10::i;:::-;23236:2;:14;;;;:::i;:::-;23227:6;:23;;;;:::i;:::-;23213:11;:37;;;;23290:10;:8;:10::i;:::-;23286:2;:14;;;;:::i;:::-;23276:7;:24;;;;:::i;:::-;23261:12;:39;;;;23344:10;:8;:10::i;:::-;23340:2;:14;;;;:::i;:::-;23328:9;:26;;;;:::i;:::-;23311:14;:43;;;;22855:508:::0;;;:::o;21897:250::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21979:14:::1;;;;;;;;;;;21978:15;21970:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;22066:1;22054:9;:13;22046:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;22130:9;22119:8;:20;;;;21897:250:::0;:::o;10685:192::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10794:1:::1;10774:22;;:8;:22;;::::0;10766:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10850:19;10860:8;10850:9;:19::i;:::-;10685:192:::0;:::o;21411:248::-;10506:12;:10;:12::i;:::-;10495:23;;:7;:5;:7::i;:::-;:23;;;10487:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21540:29:::1;;;;;;;;21546:10;21540:29;;;;21558:10;21540:29;;::::0;21528:9:::1;:41;;;;;;;;;;;;;;;;;;;21617:1;21602:10;21589;:23;;;;:::i;:::-;21588:30;;21580:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21411:248:::0;;:::o;12933:36::-;;;;;;;;;;;;;;:::o;12003:21::-;;;;;;;;;;;;;:::o;12097:38::-;;;;;;;;;;;;;:::o;101:98::-;154:7;181:10;174:17;;101:98;:::o;9393:380::-;9546:1;9529:19;;:5;:19;;;9521:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9627:1;9608:21;;:7;:21;;;9600:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9711:6;9681:11;:18;9693:5;9681:18;;;;;;;;;;;;;;;:27;9700:7;9681:27;;;;;;;;;;;;;;;:36;;;;9749:7;9733:32;;9742:5;9733:32;;;9758:6;9733:32;;;;;;:::i;:::-;;;;;;;;9393:380;;;:::o;15708:2750::-;15856:4;15844:16;;:10;;;;;;;;;;;:16;;;15841:88;;15912:4;15884:32;;:15;:26;15900:9;15884:26;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;15876:41;;;;;;15841:88;15956:1;15947:6;:10;15939:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16021:9;:17;16031:6;16021:17;;;;;;;;;;;;;;;;;;;;;;;;;16020:18;:43;;;;;16043:9;:20;16053:9;16043:20;;;;;;;;;;;;;;;;;;;;;;;;;16042:21;16020:43;16016:122;;;16088:14;;;;;;;;;;;16080:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;16016:122;16164:4;;;;;;;;;;;16154:14;;:6;:14;;;:39;;;;;16173:9;:20;16183:9;16173:20;;;;;;;;;;;;;;;;;;;;;;;;;16172:21;16154:39;:54;;;;;16198:10;;;;;;;;;;;16197:11;16154:54;16150:306;;;16243:11;;16233:6;:21;;16225:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;16362:14;;16352:6;16329:20;16339:9;16329;:20::i;:::-;:29;;;;:::i;:::-;:47;;16303:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;16150:306;16496:4;;;;;;;;;;;16486:14;;:6;:14;;;;:39;;;;;16505:9;:20;16515:9;16505:20;;;;;;;;;;;;;;;;;;;;;;;;;16504:21;16486:39;:61;;;;;16530:9;:17;16540:6;16530:17;;;;;;;;;;;;;;;;;;;;;;;;;16529:18;16486:61;:76;;;;;16552:10;;;;;;;;;;;16551:11;16486:76;16468:423;;;16607:12;;16597:6;:22;;16589:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;16686:4;;;;;;;;;;;16673:17;;:9;:17;;;16669:211;;16774:14;;16764:6;16741:20;16751:9;16741;:20::i;:::-;:29;;;;:::i;:::-;:47;;16711:153;;;;;;;;;;;;:::i;:::-;;;;;;;;;16669:211;16468:423;16903:15;16929:14;16954:11;16976:25;;:::i;:::-;17014:17;17035:9;:17;17045:6;17035:17;;;;;;;;;;;;;;;;;;;;;;;;;17034:18;:56;;;;;17070:9;:20;17080:9;17070:20;;;;;;;;;;;;;;;;;;;;;;;;;17069:21;17034:56;:112;;;;;17138:8;;17122:13;;:24;;;;:::i;:::-;17107:12;:39;17034:112;17014:132;;17234:10;;;;;;;;;;;:31;;;;17248:9;:17;17258:6;17248:17;;;;;;;;;;;;;;;;;;;;;;;;;17234:31;:55;;;;17269:9;:20;17279:9;17269:20;;;;;;;;;;;;;;;;;;;;;;;;;17234:55;17230:648;;;17310:1;17304:7;;17230:648;;;17375:4;;;;;;;;;;;17362:17;;:9;:17;;;:34;;;;;17384:12;17383:13;17362:34;17358:520;;;17479:9;:19;;;17440:9;:19;;;:58;;;;:::i;:::-;17413:85;;17522:7;17513:16;;17559:9;17544:24;;;;;;;;;;;;;;;;;;;;;;;;;;;17358:520;;;17591:12;17586:292;;17682:5;:15;;;17647:5;:15;;;:50;;;;:::i;:::-;17620:77;;17721:7;17712:16;;17758:5;17743:20;;;;;;;;;;;;;;;;;;;;;;;;;;;17586:292;;;17785:12;17781:97;;;17824:9;;17814:19;;17857:9;;17848:18;;17781:97;17586:292;17358:520;17230:648;17916:3;17906:6;17897;:15;;;;:::i;:::-;17896:23;;;;:::i;:::-;17890:29;;18033:18;;;;;;;;;;;:36;;;;;18065:4;;;;;;;;;;;18055:14;;:6;:14;;;;18033:36;18029:72;;;18071:30;18079:7;18088:12;18071:7;:30::i;:::-;18029:72;18143:48;18159:6;18167:9;18187:3;18178:6;:12;;;;:::i;:::-;18143:15;:48::i;:::-;18212:1;18206:3;:7;18202:249;;;18288:1;18278:7;:11;18274:164;;;18310:17;18351:3;18340:7;18331:6;:16;;;;:::i;:::-;18330:24;;;;:::i;:::-;18310:44;;18373:49;18389:6;18405:4;18412:9;18373:15;:49::i;:::-;18291:147;18274:164;18202:249;15830:2628;;;;;15708:2750;;;:::o;10885:173::-;10941:16;10960:6;;;;;;;;;;;10941:25;;10986:8;10977:6;;:17;;;;;;;;;;;;;;;;;;11041:8;11010:40;;11031:8;11010:40;;;;;;;;;;;;10930:128;10885:173;:::o;18466:1437::-;13121:10;;;;;;;;;;;13116:110;;13161:4;13148:10;;:17;;;;;;;;;;;;;;;;;;18571:1:::1;18560:7;:12:::0;18557:49;18588:7:::1;18557:49;18618:23;18644:24;18662:4;18644:9;:24::i;:::-;18618:50;;18702:23;;18683:15;:42;18679:1217;;18772:1;18746:23;;:27;18742:109;;;18812:23;;18794:41;;18742:109;18922:19;18954:1;18944:7;:11;;;;:::i;:::-;18922:33;;18970:32;19064:11;19024:9;:19;;;19006:15;:37;;;;:::i;:::-;19005:70;;;;:::i;:::-;18970:105;;19090:14;19125:24;19107:15;:42;;;;:::i;:::-;19090:59;;19166:22;19191:21;19166:46;;19229:24;19246:6;19229:16;:24::i;:::-;19270:20;19317:14;19293:21;:38;;;;:::i;:::-;19270:61;;19346:19;19398:9;:19;;;19384:11;:33;;;;:::i;:::-;19368:12;:50;;;;:::i;:::-;19346:72;;19433:29;19479:9;:19;;;19465:11;:33;;;;:::i;:::-;19433:65;;19543:1;19519:21;:25;19515:172;;;19610:61;19623:24;19649:21;19610:12;:61::i;:::-;19515:172;19703:20;19744:9;:19;;;19740:1;19726:11;:15;;;;:::i;:::-;:37;;;;:::i;:::-;19703:60;;19797:1;19782:12;:16;19778:105;;;19819:48;19854:12;19827:15;;;;;;;;;;;19819:34;;;;:48;;;;:::i;:::-;19778:105;18727:1169;;;;;;;;18679:1217;18544:1359;13180:1;13209:5:::0;13196:10;;:18;;;;;;;;;;;;;;;;;;13116:110;18466:1437;;:::o;7802:578::-;7960:1;7942:20;;:6;:20;;;7934:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8044:1;8023:23;;:9;:23;;;8015:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8099:21;8123:9;:17;8133:6;8123:17;;;;;;;;;;;;;;;;8099:41;;8176:6;8159:13;:23;;8151:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8272:6;8256:13;:22;;;;:::i;:::-;8236:9;:17;8246:6;8236:17;;;;;;;;;;;;;;;:42;;;;8313:6;8289:9;:20;8299:9;8289:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8354:9;8337:35;;8346:6;8337:35;;;8365:6;8337:35;;;;;;:::i;:::-;;;;;;;;7923:457;7802:578;;;:::o;19911:536::-;20039:21;20077:1;20063:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20039:40;;20108:4;20090;20095:1;20090:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20134:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20124:4;20129:1;20124:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20160:53;20177:4;20192:6;;;;;;;;;;;20201:11;20160:8;:53::i;:::-;20252:6;;;;;;;;;;;:57;;;20324:11;20350:1;20366:4;20393;20413:15;20252:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19966:481;19911:536;:::o;20455:497::-;20603:53;20620:4;20635:6;;;;;;;;;;;20644:11;20603:8;:53::i;:::-;20699:6;;;;;;;;;;;:22;;;20730:9;20764:4;20784:11;20810:1;20853;20896:7;:5;:7::i;:::-;20918:15;20699:245;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20455:497;;:::o;9803:319::-;9918:6;9893:21;:31;;9885:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9972:12;9990:9;:14;;10013:6;9990:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9971:54;;;10044:7;10036:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;9874:248;9803:319;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:99::-;1655:6;1689:5;1683:12;1673:22;;1603:99;;;:::o;1708:169::-;1792:11;1826:6;1821:3;1814:19;1866:4;1861:3;1857:14;1842:29;;1708:169;;;;:::o;1883:246::-;1964:1;1974:113;1988:6;1985:1;1982:13;1974:113;;;2073:1;2068:3;2064:11;2058:18;2054:1;2049:3;2045:11;2038:39;2010:2;2007:1;2003:10;1998:15;;1974:113;;;2121:1;2112:6;2107:3;2103:16;2096:27;1945:184;1883:246;;;:::o;2135:102::-;2176:6;2227:2;2223:7;2218:2;2211:5;2207:14;2203:28;2193:38;;2135:102;;;:::o;2243:377::-;2331:3;2359:39;2392:5;2359:39;:::i;:::-;2414:71;2478:6;2473:3;2414:71;:::i;:::-;2407:78;;2494:65;2552:6;2547:3;2540:4;2533:5;2529:16;2494:65;:::i;:::-;2584:29;2606:6;2584:29;:::i;:::-;2579:3;2575:39;2568:46;;2335:285;2243:377;;;;:::o;2626:313::-;2739:4;2777:2;2766:9;2762:18;2754:26;;2826:9;2820:4;2816:20;2812:1;2801:9;2797:17;2790:47;2854:78;2927:4;2918:6;2854:78;:::i;:::-;2846:86;;2626:313;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::o;3781:117::-;3890:1;3887;3880:12;3904:180;3952:77;3949:1;3942:88;4049:4;4046:1;4039:15;4073:4;4070:1;4063:15;4090:281;4173:27;4195:4;4173:27;:::i;:::-;4165:6;4161:40;4303:6;4291:10;4288:22;4267:18;4255:10;4252:34;4249:62;4246:88;;;4314:18;;:::i;:::-;4246:88;4354:10;4350:2;4343:22;4133:238;4090:281;;:::o;4377:129::-;4411:6;4438:20;;:::i;:::-;4428:30;;4467:33;4495:4;4487:6;4467:33;:::i;:::-;4377:129;;;:::o;4512:311::-;4589:4;4679:18;4671:6;4668:30;4665:56;;;4701:18;;:::i;:::-;4665:56;4751:4;4743:6;4739:17;4731:25;;4811:4;4805;4801:15;4793:23;;4512:311;;;:::o;4829:117::-;4938:1;4935;4928:12;4969:710;5065:5;5090:81;5106:64;5163:6;5106:64;:::i;:::-;5090:81;:::i;:::-;5081:90;;5191:5;5220:6;5213:5;5206:21;5254:4;5247:5;5243:16;5236:23;;5307:4;5299:6;5295:17;5287:6;5283:30;5336:3;5328:6;5325:15;5322:122;;;5355:79;;:::i;:::-;5322:122;5470:6;5453:220;5487:6;5482:3;5479:15;5453:220;;;5562:3;5591:37;5624:3;5612:10;5591:37;:::i;:::-;5586:3;5579:50;5658:4;5653:3;5649:14;5642:21;;5529:144;5513:4;5508:3;5504:14;5497:21;;5453:220;;;5457:21;5071:608;;4969:710;;;;;:::o;5702:370::-;5773:5;5822:3;5815:4;5807:6;5803:17;5799:27;5789:122;;5830:79;;:::i;:::-;5789:122;5947:6;5934:20;5972:94;6062:3;6054:6;6047:4;6039:6;6035:17;5972:94;:::i;:::-;5963:103;;5779:293;5702:370;;;;:::o;6078:116::-;6148:21;6163:5;6148:21;:::i;:::-;6141:5;6138:32;6128:60;;6184:1;6181;6174:12;6128:60;6078:116;:::o;6200:133::-;6243:5;6281:6;6268:20;6259:29;;6297:30;6321:5;6297:30;:::i;:::-;6200:133;;;;:::o;6339:678::-;6429:6;6437;6486:2;6474:9;6465:7;6461:23;6457:32;6454:119;;;6492:79;;:::i;:::-;6454:119;6640:1;6629:9;6625:17;6612:31;6670:18;6662:6;6659:30;6656:117;;;6692:79;;:::i;:::-;6656:117;6797:78;6867:7;6858:6;6847:9;6843:22;6797:78;:::i;:::-;6787:88;;6583:302;6924:2;6950:50;6992:7;6983:6;6972:9;6968:22;6950:50;:::i;:::-;6940:60;;6895:115;6339:678;;;;;:::o;7023:323::-;7079:6;7128:2;7116:9;7107:7;7103:23;7099:32;7096:119;;;7134:79;;:::i;:::-;7096:119;7254:1;7279:50;7321:7;7312:6;7301:9;7297:22;7279:50;:::i;:::-;7269:60;;7225:114;7023:323;;;;:::o;7352:118::-;7439:24;7457:5;7439:24;:::i;:::-;7434:3;7427:37;7352:118;;:::o;7476:222::-;7569:4;7607:2;7596:9;7592:18;7584:26;;7620:71;7688:1;7677:9;7673:17;7664:6;7620:71;:::i;:::-;7476:222;;;;:::o;7704:619::-;7781:6;7789;7797;7846:2;7834:9;7825:7;7821:23;7817:32;7814:119;;;7852:79;;:::i;:::-;7814:119;7972:1;7997:53;8042:7;8033:6;8022:9;8018:22;7997:53;:::i;:::-;7987:63;;7943:117;8099:2;8125:53;8170:7;8161:6;8150:9;8146:22;8125:53;:::i;:::-;8115:63;;8070:118;8227:2;8253:53;8298:7;8289:6;8278:9;8274:22;8253:53;:::i;:::-;8243:63;;8198:118;7704:619;;;;;:::o;8329:86::-;8364:7;8404:4;8397:5;8393:16;8382:27;;8329:86;;;:::o;8421:112::-;8504:22;8520:5;8504:22;:::i;:::-;8499:3;8492:35;8421:112;;:::o;8539:214::-;8628:4;8666:2;8655:9;8651:18;8643:26;;8679:67;8743:1;8732:9;8728:17;8719:6;8679:67;:::i;:::-;8539:214;;;;:::o;8759:468::-;8824:6;8832;8881:2;8869:9;8860:7;8856:23;8852:32;8849:119;;;8887:79;;:::i;:::-;8849:119;9007:1;9032:53;9077:7;9068:6;9057:9;9053:22;9032:53;:::i;:::-;9022:63;;8978:117;9134:2;9160:50;9202:7;9193:6;9182:9;9178:22;9160:50;:::i;:::-;9150:60;;9105:115;8759:468;;;;;:::o;9233:329::-;9292:6;9341:2;9329:9;9320:7;9316:23;9312:32;9309:119;;;9347:79;;:::i;:::-;9309:119;9467:1;9492:53;9537:7;9528:6;9517:9;9513:22;9492:53;:::i;:::-;9482:63;;9438:117;9233:329;;;;:::o;9568:332::-;9689:4;9727:2;9716:9;9712:18;9704:26;;9740:71;9808:1;9797:9;9793:17;9784:6;9740:71;:::i;:::-;9821:72;9889:2;9878:9;9874:18;9865:6;9821:72;:::i;:::-;9568:332;;;;;:::o;9906:118::-;9993:24;10011:5;9993:24;:::i;:::-;9988:3;9981:37;9906:118;;:::o;10030:222::-;10123:4;10161:2;10150:9;10146:18;10138:26;;10174:71;10242:1;10231:9;10227:17;10218:6;10174:71;:::i;:::-;10030:222;;;;:::o;10258:474::-;10326:6;10334;10383:2;10371:9;10362:7;10358:23;10354:32;10351:119;;;10389:79;;:::i;:::-;10351:119;10509:1;10534:53;10579:7;10570:6;10559:9;10555:22;10534:53;:::i;:::-;10524:63;;10480:117;10636:2;10662:53;10707:7;10698:6;10687:9;10683:22;10662:53;:::i;:::-;10652:63;;10607:118;10258:474;;;;;:::o;10738:619::-;10815:6;10823;10831;10880:2;10868:9;10859:7;10855:23;10851:32;10848:119;;;10886:79;;:::i;:::-;10848:119;11006:1;11031:53;11076:7;11067:6;11056:9;11052:22;11031:53;:::i;:::-;11021:63;;10977:117;11133:2;11159:53;11204:7;11195:6;11184:9;11180:22;11159:53;:::i;:::-;11149:63;;11104:118;11261:2;11287:53;11332:7;11323:6;11312:9;11308:22;11287:53;:::i;:::-;11277:63;;11232:118;10738:619;;;;;:::o;11363:474::-;11431:6;11439;11488:2;11476:9;11467:7;11463:23;11459:32;11456:119;;;11494:79;;:::i;:::-;11456:119;11614:1;11639:53;11684:7;11675:6;11664:9;11660:22;11639:53;:::i;:::-;11629:63;;11585:117;11741:2;11767:53;11812:7;11803:6;11792:9;11788:22;11767:53;:::i;:::-;11757:63;;11712:118;11363:474;;;;;:::o;11843:60::-;11871:3;11892:5;11885:12;;11843:60;;;:::o;11909:142::-;11959:9;11992:53;12010:34;12019:24;12037:5;12019:24;:::i;:::-;12010:34;:::i;:::-;11992:53;:::i;:::-;11979:66;;11909:142;;;:::o;12057:126::-;12107:9;12140:37;12171:5;12140:37;:::i;:::-;12127:50;;12057:126;;;:::o;12189:141::-;12254:9;12287:37;12318:5;12287:37;:::i;:::-;12274:50;;12189:141;;;:::o;12336:161::-;12438:52;12484:5;12438:52;:::i;:::-;12433:3;12426:65;12336:161;;:::o;12503:252::-;12611:4;12649:2;12638:9;12634:18;12626:26;;12662:86;12745:1;12734:9;12730:17;12721:6;12662:86;:::i;:::-;12503:252;;;;:::o;12761:180::-;12809:77;12806:1;12799:88;12906:4;12903:1;12896:15;12930:4;12927:1;12920:15;12947:320;12991:6;13028:1;13022:4;13018:12;13008:22;;13075:1;13069:4;13065:12;13096:18;13086:81;;13152:4;13144:6;13140:17;13130:27;;13086:81;13214:2;13206:6;13203:14;13183:18;13180:38;13177:84;;13233:18;;:::i;:::-;13177:84;12998:269;12947:320;;;:::o;13273:182::-;13413:34;13409:1;13401:6;13397:14;13390:58;13273:182;:::o;13461:366::-;13603:3;13624:67;13688:2;13683:3;13624:67;:::i;:::-;13617:74;;13700:93;13789:3;13700:93;:::i;:::-;13818:2;13813:3;13809:12;13802:19;;13461:366;;;:::o;13833:419::-;13999:4;14037:2;14026:9;14022:18;14014:26;;14086:9;14080:4;14076:20;14072:1;14061:9;14057:17;14050:47;14114:131;14240:4;14114:131;:::i;:::-;14106:139;;13833:419;;;:::o;14258:180::-;14306:77;14303:1;14296:88;14403:4;14400:1;14393:15;14427:4;14424:1;14417:15;14444:180;14492:77;14489:1;14482:88;14589:4;14586:1;14579:15;14613:4;14610:1;14603:15;14630:233;14669:3;14692:24;14710:5;14692:24;:::i;:::-;14683:33;;14738:66;14731:5;14728:77;14725:103;;14808:18;;:::i;:::-;14725:103;14855:1;14848:5;14844:13;14837:20;;14630:233;;;:::o;14869:174::-;15009:26;15005:1;14997:6;14993:14;14986:50;14869:174;:::o;15049:366::-;15191:3;15212:67;15276:2;15271:3;15212:67;:::i;:::-;15205:74;;15288:93;15377:3;15288:93;:::i;:::-;15406:2;15401:3;15397:12;15390:19;;15049:366;;;:::o;15421:419::-;15587:4;15625:2;15614:9;15610:18;15602:26;;15674:9;15668:4;15664:20;15660:1;15649:9;15645:17;15638:47;15702:131;15828:4;15702:131;:::i;:::-;15694:139;;15421:419;;;:::o;15846:227::-;15986:34;15982:1;15974:6;15970:14;15963:58;16055:10;16050:2;16042:6;16038:15;16031:35;15846:227;:::o;16079:366::-;16221:3;16242:67;16306:2;16301:3;16242:67;:::i;:::-;16235:74;;16318:93;16407:3;16318:93;:::i;:::-;16436:2;16431:3;16427:12;16420:19;;16079:366;;;:::o;16451:419::-;16617:4;16655:2;16644:9;16640:18;16632:26;;16704:9;16698:4;16694:20;16690:1;16679:9;16675:17;16668:47;16732:131;16858:4;16732:131;:::i;:::-;16724:139;;16451:419;;;:::o;16876:194::-;16916:4;16936:20;16954:1;16936:20;:::i;:::-;16931:25;;16970:20;16988:1;16970:20;:::i;:::-;16965:25;;17014:1;17011;17007:9;16999:17;;17038:1;17032:4;17029:11;17026:37;;;17043:18;;:::i;:::-;17026:37;16876:194;;;;:::o;17076:191::-;17116:3;17135:20;17153:1;17135:20;:::i;:::-;17130:25;;17169:20;17187:1;17169:20;:::i;:::-;17164:25;;17212:1;17209;17205:9;17198:16;;17233:3;17230:1;17227:10;17224:36;;;17240:18;;:::i;:::-;17224:36;17076:191;;;;:::o;17273:249::-;17413:34;17409:1;17401:6;17397:14;17390:58;17482:32;17477:2;17469:6;17465:15;17458:57;17273:249;:::o;17528:366::-;17670:3;17691:67;17755:2;17750:3;17691:67;:::i;:::-;17684:74;;17767:93;17856:3;17767:93;:::i;:::-;17885:2;17880:3;17876:12;17869:19;;17528:366;;;:::o;17900:419::-;18066:4;18104:2;18093:9;18089:18;18081:26;;18153:9;18147:4;18143:20;18139:1;18128:9;18124:17;18117:47;18181:131;18307:4;18181:131;:::i;:::-;18173:139;;17900:419;;;:::o;18325:102::-;18367:8;18414:5;18411:1;18407:13;18386:34;;18325:102;;;:::o;18433:848::-;18494:5;18501:4;18525:6;18516:15;;18549:5;18540:14;;18563:712;18584:1;18574:8;18571:15;18563:712;;;18679:4;18674:3;18670:14;18664:4;18661:24;18658:50;;;18688:18;;:::i;:::-;18658:50;18738:1;18728:8;18724:16;18721:451;;;19153:4;19146:5;19142:16;19133:25;;18721:451;19203:4;19197;19193:15;19185:23;;19233:32;19256:8;19233:32;:::i;:::-;19221:44;;18563:712;;;18433:848;;;;;;;:::o;19287:1073::-;19341:5;19532:8;19522:40;;19553:1;19544:10;;19555:5;;19522:40;19581:4;19571:36;;19598:1;19589:10;;19600:5;;19571:36;19667:4;19715:1;19710:27;;;;19751:1;19746:191;;;;19660:277;;19710:27;19728:1;19719:10;;19730:5;;;19746:191;19791:3;19781:8;19778:17;19775:43;;;19798:18;;:::i;:::-;19775:43;19847:8;19844:1;19840:16;19831:25;;19882:3;19875:5;19872:14;19869:40;;;19889:18;;:::i;:::-;19869:40;19922:5;;;19660:277;;20046:2;20036:8;20033:16;20027:3;20021:4;20018:13;20014:36;19996:2;19986:8;19983:16;19978:2;19972:4;19969:12;19965:35;19949:111;19946:246;;;20102:8;20096:4;20092:19;20083:28;;20137:3;20130:5;20127:14;20124:40;;;20144:18;;:::i;:::-;20124:40;20177:5;;19946:246;20217:42;20255:3;20245:8;20239:4;20236:1;20217:42;:::i;:::-;20202:57;;;;20291:4;20286:3;20282:14;20275:5;20272:25;20269:51;;;20300:18;;:::i;:::-;20269:51;20349:4;20342:5;20338:16;20329:25;;19287:1073;;;;;;:::o;20366:281::-;20424:5;20448:23;20466:4;20448:23;:::i;:::-;20440:31;;20492:25;20508:8;20492:25;:::i;:::-;20480:37;;20536:104;20573:66;20563:8;20557:4;20536:104;:::i;:::-;20527:113;;20366:281;;;;:::o;20653:410::-;20693:7;20716:20;20734:1;20716:20;:::i;:::-;20711:25;;20750:20;20768:1;20750:20;:::i;:::-;20745:25;;20805:1;20802;20798:9;20827:30;20845:11;20827:30;:::i;:::-;20816:41;;21006:1;20997:7;20993:15;20990:1;20987:22;20967:1;20960:9;20940:83;20917:139;;21036:18;;:::i;:::-;20917:139;20701:362;20653:410;;;;:::o;21069:224::-;21209:34;21205:1;21197:6;21193:14;21186:58;21278:7;21273:2;21265:6;21261:15;21254:32;21069:224;:::o;21299:366::-;21441:3;21462:67;21526:2;21521:3;21462:67;:::i;:::-;21455:74;;21538:93;21627:3;21538:93;:::i;:::-;21656:2;21651:3;21647:12;21640:19;;21299:366;;;:::o;21671:419::-;21837:4;21875:2;21864:9;21860:18;21852:26;;21924:9;21918:4;21914:20;21910:1;21899:9;21895:17;21888:47;21952:131;22078:4;21952:131;:::i;:::-;21944:139;;21671:419;;;:::o;22096:221::-;22236:34;22232:1;22224:6;22220:14;22213:58;22305:4;22300:2;22292:6;22288:15;22281:29;22096:221;:::o;22323:366::-;22465:3;22486:67;22550:2;22545:3;22486:67;:::i;:::-;22479:74;;22562:93;22651:3;22562:93;:::i;:::-;22680:2;22675:3;22671:12;22664:19;;22323:366;;;:::o;22695:419::-;22861:4;22899:2;22888:9;22884:18;22876:26;;22948:9;22942:4;22938:20;22934:1;22923:9;22919:17;22912:47;22976:131;23102:4;22976:131;:::i;:::-;22968:139;;22695:419;;;:::o;23120:241::-;23260:34;23256:1;23248:6;23244:14;23237:58;23329:24;23324:2;23316:6;23312:15;23305:49;23120:241;:::o;23367:366::-;23509:3;23530:67;23594:2;23589:3;23530:67;:::i;:::-;23523:74;;23606:93;23695:3;23606:93;:::i;:::-;23724:2;23719:3;23715:12;23708:19;;23367:366;;;:::o;23739:419::-;23905:4;23943:2;23932:9;23928:18;23920:26;;23992:9;23986:4;23982:20;23978:1;23967:9;23963:17;23956:47;24020:131;24146:4;24020:131;:::i;:::-;24012:139;;23739:419;;;:::o;24164:332::-;24285:4;24323:2;24312:9;24308:18;24300:26;;24336:71;24404:1;24393:9;24389:17;24380:6;24336:71;:::i;:::-;24417:72;24485:2;24474:9;24470:18;24461:6;24417:72;:::i;:::-;24164:332;;;;;:::o;24502:137::-;24556:5;24587:6;24581:13;24572:22;;24603:30;24627:5;24603:30;:::i;:::-;24502:137;;;;:::o;24645:345::-;24712:6;24761:2;24749:9;24740:7;24736:23;24732:32;24729:119;;;24767:79;;:::i;:::-;24729:119;24887:1;24912:61;24965:7;24956:6;24945:9;24941:22;24912:61;:::i;:::-;24902:71;;24858:125;24645:345;;;;:::o;24996:228::-;25136:34;25132:1;25124:6;25120:14;25113:58;25205:11;25200:2;25192:6;25188:15;25181:36;24996:228;:::o;25230:366::-;25372:3;25393:67;25457:2;25452:3;25393:67;:::i;:::-;25386:74;;25469:93;25558:3;25469:93;:::i;:::-;25587:2;25582:3;25578:12;25571:19;;25230:366;;;:::o;25602:419::-;25768:4;25806:2;25795:9;25791:18;25783:26;;25855:9;25849:4;25845:20;25841:1;25830:9;25826:17;25819:47;25883:131;26009:4;25883:131;:::i;:::-;25875:139;;25602:419;;;:::o;26027:229::-;26167:34;26163:1;26155:6;26151:14;26144:58;26236:12;26231:2;26223:6;26219:15;26212:37;26027:229;:::o;26262:366::-;26404:3;26425:67;26489:2;26484:3;26425:67;:::i;:::-;26418:74;;26501:93;26590:3;26501:93;:::i;:::-;26619:2;26614:3;26610:12;26603:19;;26262:366;;;:::o;26634:419::-;26800:4;26838:2;26827:9;26823:18;26815:26;;26887:9;26881:4;26877:20;26873:1;26862:9;26858:17;26851:47;26915:131;27041:4;26915:131;:::i;:::-;26907:139;;26634:419;;;:::o;27059:229::-;27199:34;27195:1;27187:6;27183:14;27176:58;27268:12;27263:2;27255:6;27251:15;27244:37;27059:229;:::o;27294:366::-;27436:3;27457:67;27521:2;27516:3;27457:67;:::i;:::-;27450:74;;27533:93;27622:3;27533:93;:::i;:::-;27651:2;27646:3;27642:12;27635:19;;27294:366;;;:::o;27666:419::-;27832:4;27870:2;27859:9;27855:18;27847:26;;27919:9;27913:4;27909:20;27905:1;27894:9;27890:17;27883:47;27947:131;28073:4;27947:131;:::i;:::-;27939:139;;27666:419;;;:::o;28091:224::-;28231:34;28227:1;28219:6;28215:14;28208:58;28300:7;28295:2;28287:6;28283:15;28276:32;28091:224;:::o;28321:366::-;28463:3;28484:67;28548:2;28543:3;28484:67;:::i;:::-;28477:74;;28560:93;28649:3;28560:93;:::i;:::-;28678:2;28673:3;28669:12;28662:19;;28321:366;;;:::o;28693:419::-;28859:4;28897:2;28886:9;28882:18;28874:26;;28946:9;28940:4;28936:20;28932:1;28921:9;28917:17;28910:47;28974:131;29100:4;28974:131;:::i;:::-;28966:139;;28693:419;;;:::o;29118:224::-;29258:34;29254:1;29246:6;29242:14;29235:58;29327:7;29322:2;29314:6;29310:15;29303:32;29118:224;:::o;29348:366::-;29490:3;29511:67;29575:2;29570:3;29511:67;:::i;:::-;29504:74;;29587:93;29676:3;29587:93;:::i;:::-;29705:2;29700:3;29696:12;29689:19;;29348:366;;;:::o;29720:419::-;29886:4;29924:2;29913:9;29909:18;29901:26;;29973:9;29967:4;29963:20;29959:1;29948:9;29944:17;29937:47;30001:131;30127:4;30001:131;:::i;:::-;29993:139;;29720:419;;;:::o;30145:225::-;30285:34;30281:1;30273:6;30269:14;30262:58;30354:8;30349:2;30341:6;30337:15;30330:33;30145:225;:::o;30376:366::-;30518:3;30539:67;30603:2;30598:3;30539:67;:::i;:::-;30532:74;;30615:93;30704:3;30615:93;:::i;:::-;30733:2;30728:3;30724:12;30717:19;;30376:366;;;:::o;30748:419::-;30914:4;30952:2;30941:9;30937:18;30929:26;;31001:9;30995:4;30991:20;30987:1;30976:9;30972:17;30965:47;31029:131;31155:4;31029:131;:::i;:::-;31021:139;;30748:419;;;:::o;31173:178::-;31313:30;31309:1;31301:6;31297:14;31290:54;31173:178;:::o;31357:366::-;31499:3;31520:67;31584:2;31579:3;31520:67;:::i;:::-;31513:74;;31596:93;31685:3;31596:93;:::i;:::-;31714:2;31709:3;31705:12;31698:19;;31357:366;;;:::o;31729:419::-;31895:4;31933:2;31922:9;31918:18;31910:26;;31982:9;31976:4;31972:20;31968:1;31957:9;31953:17;31946:47;32010:131;32136:4;32010:131;:::i;:::-;32002:139;;31729:419;;;:::o;32154:223::-;32294:34;32290:1;32282:6;32278:14;32271:58;32363:6;32358:2;32350:6;32346:15;32339:31;32154:223;:::o;32383:366::-;32525:3;32546:67;32610:2;32605:3;32546:67;:::i;:::-;32539:74;;32622:93;32711:3;32622:93;:::i;:::-;32740:2;32735:3;32731:12;32724:19;;32383:366;;;:::o;32755:419::-;32921:4;32959:2;32948:9;32944:18;32936:26;;33008:9;33002:4;32998:20;32994:1;32983:9;32979:17;32972:47;33036:131;33162:4;33036:131;:::i;:::-;33028:139;;32755:419;;;:::o;33180:221::-;33320:34;33316:1;33308:6;33304:14;33297:58;33389:4;33384:2;33376:6;33372:15;33365:29;33180:221;:::o;33407:366::-;33549:3;33570:67;33634:2;33629:3;33570:67;:::i;:::-;33563:74;;33646:93;33735:3;33646:93;:::i;:::-;33764:2;33759:3;33755:12;33748:19;;33407:366;;;:::o;33779:419::-;33945:4;33983:2;33972:9;33968:18;33960:26;;34032:9;34026:4;34022:20;34018:1;34007:9;34003:17;33996:47;34060:131;34186:4;34060:131;:::i;:::-;34052:139;;33779:419;;;:::o;34204:228::-;34344:34;34340:1;34332:6;34328:14;34321:58;34413:11;34408:2;34400:6;34396:15;34389:36;34204:228;:::o;34438:366::-;34580:3;34601:67;34665:2;34660:3;34601:67;:::i;:::-;34594:74;;34677:93;34766:3;34677:93;:::i;:::-;34795:2;34790:3;34786:12;34779:19;;34438:366;;;:::o;34810:419::-;34976:4;35014:2;35003:9;34999:18;34991:26;;35063:9;35057:4;35053:20;35049:1;35038:9;35034:17;35027:47;35091:131;35217:4;35091:131;:::i;:::-;35083:139;;34810:419;;;:::o;35235:169::-;35375:21;35371:1;35363:6;35359:14;35352:45;35235:169;:::o;35410:366::-;35552:3;35573:67;35637:2;35632:3;35573:67;:::i;:::-;35566:74;;35649:93;35738:3;35649:93;:::i;:::-;35767:2;35762:3;35758:12;35751:19;;35410:366;;;:::o;35782:419::-;35948:4;35986:2;35975:9;35971:18;35963:26;;36035:9;36029:4;36025:20;36021:1;36010:9;36006:17;35999:47;36063:131;36189:4;36063:131;:::i;:::-;36055:139;;35782:419;;;:::o;36207:179::-;36347:31;36343:1;36335:6;36331:14;36324:55;36207:179;:::o;36392:366::-;36534:3;36555:67;36619:2;36614:3;36555:67;:::i;:::-;36548:74;;36631:93;36720:3;36631:93;:::i;:::-;36749:2;36744:3;36740:12;36733:19;;36392:366;;;:::o;36764:419::-;36930:4;36968:2;36957:9;36953:18;36945:26;;37017:9;37011:4;37007:20;37003:1;36992:9;36988:17;36981:47;37045:131;37171:4;37045:131;:::i;:::-;37037:139;;36764:419;;;:::o;37189:182::-;37329:34;37325:1;37317:6;37313:14;37306:58;37189:182;:::o;37377:366::-;37519:3;37540:67;37604:2;37599:3;37540:67;:::i;:::-;37533:74;;37616:93;37705:3;37616:93;:::i;:::-;37734:2;37729:3;37725:12;37718:19;;37377:366;;;:::o;37749:419::-;37915:4;37953:2;37942:9;37938:18;37930:26;;38002:9;37996:4;37992:20;37988:1;37977:9;37973:17;37966:47;38030:131;38156:4;38030:131;:::i;:::-;38022:139;;37749:419;;;:::o;38174:180::-;38314:32;38310:1;38302:6;38298:14;38291:56;38174:180;:::o;38360:366::-;38502:3;38523:67;38587:2;38582:3;38523:67;:::i;:::-;38516:74;;38599:93;38688:3;38599:93;:::i;:::-;38717:2;38712:3;38708:12;38701:19;;38360:366;;;:::o;38732:419::-;38898:4;38936:2;38925:9;38921:18;38913:26;;38985:9;38979:4;38975:20;38971:1;38960:9;38956:17;38949:47;39013:131;39139:4;39013:131;:::i;:::-;39005:139;;38732:419;;;:::o;39157:180::-;39205:77;39202:1;39195:88;39302:4;39299:1;39292:15;39326:4;39323:1;39316:15;39343:185;39383:1;39400:20;39418:1;39400:20;:::i;:::-;39395:25;;39434:20;39452:1;39434:20;:::i;:::-;39429:25;;39473:1;39463:35;;39478:18;;:::i;:::-;39463:35;39520:1;39517;39513:9;39508:14;;39343:185;;;;:::o;39534:224::-;39674:34;39670:1;39662:6;39658:14;39651:58;39743:7;39738:2;39730:6;39726:15;39719:32;39534:224;:::o;39764:366::-;39906:3;39927:67;39991:2;39986:3;39927:67;:::i;:::-;39920:74;;40003:93;40092:3;40003:93;:::i;:::-;40121:2;40116:3;40112:12;40105:19;;39764:366;;;:::o;40136:419::-;40302:4;40340:2;40329:9;40325:18;40317:26;;40389:9;40383:4;40379:20;40375:1;40364:9;40360:17;40353:47;40417:131;40543:4;40417:131;:::i;:::-;40409:139;;40136:419;;;:::o;40561:222::-;40701:34;40697:1;40689:6;40685:14;40678:58;40770:5;40765:2;40757:6;40753:15;40746:30;40561:222;:::o;40789:366::-;40931:3;40952:67;41016:2;41011:3;40952:67;:::i;:::-;40945:74;;41028:93;41117:3;41028:93;:::i;:::-;41146:2;41141:3;41137:12;41130:19;;40789:366;;;:::o;41161:419::-;41327:4;41365:2;41354:9;41350:18;41342:26;;41414:9;41408:4;41404:20;41400:1;41389:9;41385:17;41378:47;41442:131;41568:4;41442:131;:::i;:::-;41434:139;;41161:419;;;:::o;41586:225::-;41726:34;41722:1;41714:6;41710:14;41703:58;41795:8;41790:2;41782:6;41778:15;41771:33;41586:225;:::o;41817:366::-;41959:3;41980:67;42044:2;42039:3;41980:67;:::i;:::-;41973:74;;42056:93;42145:3;42056:93;:::i;:::-;42174:2;42169:3;42165:12;42158:19;;41817:366;;;:::o;42189:419::-;42355:4;42393:2;42382:9;42378:18;42370:26;;42442:9;42436:4;42432:20;42428:1;42417:9;42413:17;42406:47;42470:131;42596:4;42470:131;:::i;:::-;42462:139;;42189:419;;;:::o;42614:143::-;42671:5;42702:6;42696:13;42687:22;;42718:33;42745:5;42718:33;:::i;:::-;42614:143;;;;:::o;42763:351::-;42833:6;42882:2;42870:9;42861:7;42857:23;42853:32;42850:119;;;42888:79;;:::i;:::-;42850:119;43008:1;43033:64;43089:7;43080:6;43069:9;43065:22;43033:64;:::i;:::-;43023:74;;42979:128;42763:351;;;;:::o;43120:85::-;43165:7;43194:5;43183:16;;43120:85;;;:::o;43211:158::-;43269:9;43302:61;43320:42;43329:32;43355:5;43329:32;:::i;:::-;43320:42;:::i;:::-;43302:61;:::i;:::-;43289:74;;43211:158;;;:::o;43375:147::-;43470:45;43509:5;43470:45;:::i;:::-;43465:3;43458:58;43375:147;;:::o;43528:114::-;43595:6;43629:5;43623:12;43613:22;;43528:114;;;:::o;43648:184::-;43747:11;43781:6;43776:3;43769:19;43821:4;43816:3;43812:14;43797:29;;43648:184;;;;:::o;43838:132::-;43905:4;43928:3;43920:11;;43958:4;43953:3;43949:14;43941:22;;43838:132;;;:::o;43976:108::-;44053:24;44071:5;44053:24;:::i;:::-;44048:3;44041:37;43976:108;;:::o;44090:179::-;44159:10;44180:46;44222:3;44214:6;44180:46;:::i;:::-;44258:4;44253:3;44249:14;44235:28;;44090:179;;;;:::o;44275:113::-;44345:4;44377;44372:3;44368:14;44360:22;;44275:113;;;:::o;44424:732::-;44543:3;44572:54;44620:5;44572:54;:::i;:::-;44642:86;44721:6;44716:3;44642:86;:::i;:::-;44635:93;;44752:56;44802:5;44752:56;:::i;:::-;44831:7;44862:1;44847:284;44872:6;44869:1;44866:13;44847:284;;;44948:6;44942:13;44975:63;45034:3;45019:13;44975:63;:::i;:::-;44968:70;;45061:60;45114:6;45061:60;:::i;:::-;45051:70;;44907:224;44894:1;44891;44887:9;44882:14;;44847:284;;;44851:14;45147:3;45140:10;;44548:608;;;44424:732;;;;:::o;45162:831::-;45425:4;45463:3;45452:9;45448:19;45440:27;;45477:71;45545:1;45534:9;45530:17;45521:6;45477:71;:::i;:::-;45558:80;45634:2;45623:9;45619:18;45610:6;45558:80;:::i;:::-;45685:9;45679:4;45675:20;45670:2;45659:9;45655:18;45648:48;45713:108;45816:4;45807:6;45713:108;:::i;:::-;45705:116;;45831:72;45899:2;45888:9;45884:18;45875:6;45831:72;:::i;:::-;45913:73;45981:3;45970:9;45966:19;45957:6;45913:73;:::i;:::-;45162:831;;;;;;;;:::o;45999:807::-;46248:4;46286:3;46275:9;46271:19;46263:27;;46300:71;46368:1;46357:9;46353:17;46344:6;46300:71;:::i;:::-;46381:72;46449:2;46438:9;46434:18;46425:6;46381:72;:::i;:::-;46463:80;46539:2;46528:9;46524:18;46515:6;46463:80;:::i;:::-;46553;46629:2;46618:9;46614:18;46605:6;46553:80;:::i;:::-;46643:73;46711:3;46700:9;46696:19;46687:6;46643:73;:::i;:::-;46726;46794:3;46783:9;46779:19;46770:6;46726:73;:::i;:::-;45999:807;;;;;;;;;:::o;46812:143::-;46869:5;46900:6;46894:13;46885:22;;46916:33;46943:5;46916:33;:::i;:::-;46812:143;;;;:::o;46961:663::-;47049:6;47057;47065;47114:2;47102:9;47093:7;47089:23;47085:32;47082:119;;;47120:79;;:::i;:::-;47082:119;47240:1;47265:64;47321:7;47312:6;47301:9;47297:22;47265:64;:::i;:::-;47255:74;;47211:128;47378:2;47404:64;47460:7;47451:6;47440:9;47436:22;47404:64;:::i;:::-;47394:74;;47349:129;47517:2;47543:64;47599:7;47590:6;47579:9;47575:22;47543:64;:::i;:::-;47533:74;;47488:129;46961:663;;;;;:::o;47630:179::-;47770:31;47766:1;47758:6;47754:14;47747:55;47630:179;:::o;47815:366::-;47957:3;47978:67;48042:2;48037:3;47978:67;:::i;:::-;47971:74;;48054:93;48143:3;48054:93;:::i;:::-;48172:2;48167:3;48163:12;48156:19;;47815:366;;;:::o;48187:419::-;48353:4;48391:2;48380:9;48376:18;48368:26;;48440:9;48434:4;48430:20;48426:1;48415:9;48411:17;48404:47;48468:131;48594:4;48468:131;:::i;:::-;48460:139;;48187:419;;;:::o;48612:147::-;48713:11;48750:3;48735:18;;48612:147;;;;:::o;48765:114::-;;:::o;48885:398::-;49044:3;49065:83;49146:1;49141:3;49065:83;:::i;:::-;49058:90;;49157:93;49246:3;49157:93;:::i;:::-;49275:1;49270:3;49266:11;49259:18;;48885:398;;;:::o;49289:379::-;49473:3;49495:147;49638:3;49495:147;:::i;:::-;49488:154;;49659:3;49652:10;;49289:379;;;:::o;49674:245::-;49814:34;49810:1;49802:6;49798:14;49791:58;49883:28;49878:2;49870:6;49866:15;49859:53;49674:245;:::o;49925:366::-;50067:3;50088:67;50152:2;50147:3;50088:67;:::i;:::-;50081:74;;50164:93;50253:3;50164:93;:::i;:::-;50282:2;50277:3;50273:12;50266:19;;49925:366;;;:::o;50297:419::-;50463:4;50501:2;50490:9;50486:18;50478:26;;50550:9;50544:4;50540:20;50536:1;50525:9;50521:17;50514:47;50578:131;50704:4;50578:131;:::i;:::-;50570:139;;50297:419;;;:::o
Swarm Source
ipfs://020542db3331b26c778de0950a3ec01e983b1c4e91c776ad958db27f35adf976
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,269.59 | 0.00297754 | $9.74 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.