Source Code
Overview
ETH Balance
0 ETH
Token Holdings
More Info
ContractCreator
TokenTracker
Multichain Info
N/A
Latest 25 from a total of 80 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mini Purge | 6088683 | 4 days ago | IN | 0 ETH | 0.00000326 | ||||
Set Public Sale ... | 6086841 | 4 days ago | IN | 0 ETH | 0.00000288 | ||||
Mint And Purge | 6086694 | 4 days ago | IN | 0 ETH | 0.00015071 | ||||
Mint | 6086690 | 4 days ago | IN | 0 ETH | 0.00007603 | ||||
Mint And Purge | 6086688 | 4 days ago | IN | 0 ETH | 0.00015097 | ||||
Mint | 6086684 | 4 days ago | IN | 0 ETH | 0.00007623 | ||||
Mini Purge | 6086681 | 4 days ago | IN | 0 ETH | 0.00000261 | ||||
Mint And Purge | 6086680 | 4 days ago | IN | 0 ETH | 0.0001507 | ||||
Mint | 6086675 | 4 days ago | IN | 0 ETH | 0.00007603 | ||||
Mint And Purge | 6086670 | 4 days ago | IN | 0 ETH | 0.00015113 | ||||
Mint | 6086666 | 4 days ago | IN | 0 ETH | 0.00007622 | ||||
Mini Purge | 6086664 | 4 days ago | IN | 0 ETH | 0.00000261 | ||||
Mint And Purge | 6086663 | 4 days ago | IN | 0 ETH | 0.00015071 | ||||
Mint | 6086660 | 4 days ago | IN | 0 ETH | 0.00007604 | ||||
Mint And Purge | 6086657 | 4 days ago | IN | 0 ETH | 0.00015096 | ||||
Mint | 6086652 | 4 days ago | IN | 0 ETH | 0.00007621 | ||||
Mini Purge | 6086647 | 4 days ago | IN | 0 ETH | 0.00000261 | ||||
Mint And Purge | 6086646 | 4 days ago | IN | 0 ETH | 0.00015102 | ||||
Mint | 6086641 | 4 days ago | IN | 0 ETH | 0.00007607 | ||||
Mint And Purge | 6086638 | 4 days ago | IN | 0 ETH | 0.00015172 | ||||
Mint | 6086632 | 4 days ago | IN | 0 ETH | 0.0000762 | ||||
Mini Purge | 6086553 | 4 days ago | IN | 0 ETH | 0.00000261 | ||||
Mint And Purge | 6086552 | 4 days ago | IN | 0 ETH | 0.00001733 | ||||
Mint | 6086550 | 4 days ago | IN | 0 ETH | 0.00000946 | ||||
Mint And Purge | 6086549 | 4 days ago | IN | 0 ETH | 0.00001771 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6088683 | 4 days ago | 0 ETH | ||||
6086841 | 4 days ago | 0 ETH | ||||
6086841 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH | ||||
6086694 | 4 days ago | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
PurgeGame
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/utils/Strings.sol"; import "./IPurgedCoin.sol"; /// @custom:security-contact [email protected] contract PurgeGame is ERC721 { using Strings for uint256; bool private paidJackpot; bool public publicSaleStatus; bool public REVEAL; bool public gameOver; bool private purging; uint8 private dailyJackpotCounter; uint8 public constant cost = 100; uint32 private offset; uint32 private MAPtokens; uint32 public totalMinted; uint32 public gameEndTime; uint32 public dailyJackpotTime; uint32 constant private maxTokens = 1000000000; address public usdcTokenAddress; address private _owner; PurgedCoinInterface public purgedCoin; FakeCoinInterface public fakeCoin; uint256 public constant million = 1000000; uint256 public startingPrizePool; uint256 public PrizePool; uint32[256] public traitRemaining; uint32[80] public dailyPurgeCount; mapping(address => bool) private trustedAddresses; mapping(uint32 => uint24) public tokenTraits; mapping(uint8 => address[]) private traitPurgeTicket; mapping(address => uint256) public claimableWinnings; string public baseTokenURI = "https://purge.games/beta/tokens/"; constructor(address purgedCoinContract, address _usdcTokenAddress) ERC721("Purge Game Beta Test", "PURGEGAMEBETA") { _owner = msg.sender; trustedAddresses[_owner] = true; purgedCoin = PurgedCoinInterface(purgedCoinContract); usdcTokenAddress = _usdcTokenAddress; fakeCoin = FakeCoinInterface(usdcTokenAddress); } modifier onlyTrusted() { require(trustedAddresses[msg.sender], "Caller is not a trusted address"); _; } function test() external { fakeCoin.giveMoney(msg.sender, 1000 * million); } // Mint function. function mint(uint32 _number, bool coin, string calldata referralCode) external { require(publicSaleStatus == true, 'Mint inactive'); uint256 totalCost = _number * cost * million; if (coin) { coinReceive(totalCost); } else { usdcReceive(totalCost, referralCode); } uint32 _tokenId = totalMinted; for (uint32 i = 0; i < _number; i++) { _tokenId++; _mint(msg.sender, _tokenId); uint24 traits = rarity(_tokenId); tokenTraits[_tokenId] = traits; for (uint8 q = 0; q < 4; q++) { uint8 trait = uint8((traits >> (q * 6)) & 0x3f) + (q << 6); traitRemaining[trait] += 1; } emit TokenMinted(_tokenId, traits, msg.sender); } totalMinted += _number; } // Creates a payout ticket for a token without actally minting that token to save gas. function mintAndPurge(uint32 _number, bool coin, string calldata referralCode) external { require (publicSaleStatus == true, 'Mint inactive'); uint256 totalCost = _number * cost * million; if (coin) { coinReceive(totalCost * 9 / 10); } else { usdcReceive(totalCost, referralCode); purgedCoin.mintInGame(msg.sender, totalCost / 10); } uint32 mapTokenNumber = maxTokens + MAPtokens; for(uint32 i = 0; i < _number; i++){ uint32 _tokenId = mapTokenNumber + i; uint24 traits = rarity(_tokenId); purgeWrite(traits,msg.sender); emit MintAndPurge(_tokenId, traits, msg.sender); } MAPtokens += _number; } function miniPurge(bool coin, string calldata referralCode) external { require(publicSaleStatus == true, 'Mint inactive'); uint256 totalCost = cost * million * 33 / 100; if (coin) { coinReceive(totalCost); } else { usdcReceive(totalCost, referralCode); } uint16 randomHash = uint16(uint(keccak256(abi.encodePacked(PrizePool,block.number)))); uint8 trait = getTrait(randomHash) + ((uint8(randomHash >> 5) & 0x03) << 6); traitPurgeTicket[trait].push(msg.sender); emit MintAndPurge(1000000000, trait, msg.sender); } function rarity(uint32 _tokenId) private view returns(uint24) { uint256 randomHash = uint256(keccak256(abi.encodePacked(_tokenId, block.number))); // Generate traits directly from the randomHash uint8 trait1 = getTrait(uint16(randomHash & 0xFFFF)); uint8 trait2 = getTrait(uint16((randomHash >> 16) & 0xFFFF)); uint8 trait3 = getTrait(uint16((randomHash >> 32) & 0xFFFF)); uint8 trait4 = getTrait(uint16((randomHash >> 48) & 0xFFFF)); // Combine traits into the final result uint24 result = (uint24(trait1) << 0) | (uint24(trait2) << 6) | (uint24(trait3) << 12) | (uint24(trait4) << 18); return result; } function getTrait(uint16 _input) private pure returns (uint8) { _input &= 0x7ff; if (_input < 840) { return uint8(_input / 35); } else if (_input < 1352) { return uint8(24 + (_input - 840) / 32); } else if (_input < 1832) { return uint8(40 + (_input - 1352) / 30); } else { return uint8(56 + (_input - 1832) / 27); } } // Burns tokens and creates payout tickets for each trait purged, then prints $PURGED. function purge(uint32[] calldata tokenIds) external{ require(gameOver == false, "Game Over"); require(REVEAL, "No purging before reveal"); uint256 purges = tokenIds.length; require(purges > 0 && purges <= 300, "Number of purges must be between 1 and 300"); uint32 _tokenId; purging = true; for(uint32 i = 0; i < purges; i++) { if (gameOver) { break; } _tokenId = tokenIds[i]; require(ownerOf(_tokenId) == msg.sender, "You do not own that token"); _burn(_tokenId); purgeWrite(tokenTraits[realTraitsFromTokenId(_tokenId)], msg.sender); } purging = false; purgedCoin.mintInGame(msg.sender, purges * cost * million / 10); } function purgeWrite(uint24 traits, address sender) private { uint8[4] memory trait; trait[0] = uint8(traits & 0x3f); trait[1] = uint8((traits >> 6) & 0x3f) + 64; trait[2] = uint8((traits >> 12) & 0x3f) + 128; trait[3] = uint8((traits >> 18) & 0x3f) + 192; for (uint8 q = 0; q < 4; q++) { traitPurgeTicket[trait[q]].push(sender); } if (REVEAL) { dailyPurgeCount[trait[0] & 0x07] += 1; dailyPurgeCount[(trait[1] - 64) / 8 + 8] += 1; dailyPurgeCount[trait[2] - 128 + 16] += 1; for (uint8 q = 0; q < 4; q++) { removeTraitRemaining(trait[q]); } } } // Records the removal of a trait and checks to see if this transaction exterminates that trait. // If so, this ends the game and pays out the winnings to everyone who has purged a token with that trait. function removeTraitRemaining(uint8 trait) private { traitRemaining[trait] -= 1; if (traitRemaining[trait] == 0){ if (!gameOver){ endGame(); payout(trait); } } } function endGame() private { _mint(msg.sender, 4206942069); gameOver = true; gameEndTime = uint32(block.timestamp); coinJackpot(); purgedCoin.resetSeasonCoinBurn(); } // Pays the exterminator 20% of the prize pool. // Then pays each player who purged a token with the winning trait an equal amount for each token purged. function payout(uint8 trait) private { uint32 totalPurges = uint32(traitPurgeTicket[trait].length - 1); if (totalPurges == 0) totalPurges = 1; uint256 grandPrize = PrizePool / 5; uint256 normalPayout = (PrizePool - grandPrize) / totalPurges; PrizePool = 0; startingPrizePool = 0; addClaimableUSDC(msg.sender, grandPrize); for (uint32 i = 0; i < totalPurges; i++){ addClaimableUSDC(traitPurgeTicket[trait][i], normalPayout); } } function addClaimableUSDC(address player, uint256 amount) private{ claimableWinnings[player] += amount; emit CoinPaid(player, amount, false); } // Pays the MAP Jackpot to a random Mint and Purger. function payMapJackpot() external onlyTrusted { require(paidJackpot == false); require(publicSaleStatus == false); startingPrizePool = PrizePool * 85 / 100; paidJackpot = true; purgedCoin.mintInGame(_owner, PrizePool / 4); uint8[9] memory trait; uint256 random = uint256(keccak256(abi.encodePacked(block.timestamp, block.prevrandao))); // First trait is completely random trait[0] = uint8(random & 0xFF); // Next four traits fall within specific quadrants for (uint8 q = 1; q < 8; q+=2) { trait[q] = uint8((random >> (q * 6)) & 0x3F) + ((q - 1) << 6); trait[q + 1] = trait [q]; } // Define the number of winners for each trait uint8[9] memory numbers = [1, 1, 8, 1, 8, 1, 5, 1, 20]; // Define the prize for each winner - (x *.1% of prize pool / number of winners) uint8[9] memory prizes = [100, 5, 5, 4, 6, 3, 7, 10, 10]; // Distribute prizes to winners for (uint8 i = 0; i < 9; i++) { address[] memory winners = new address[](numbers[i]); winners = randTraitTicket(trait[i], numbers[i]); uint256 prize = PrizePool * prizes[i] / 1000 / numbers[i]; for (uint8 p = 0; p < numbers[i]; p++) { addClaimableUSDC(winners[p], prize); } } // Mint coins for the consolation prize uint256 numberOfTickets = traitPurgeTicket[trait[0]].length; for (uint32 c = 0; c < numberOfTickets; c++) { purgedCoin.mintInGame(traitPurgeTicket[trait[0]][c], 100 * million); } PrizePool = PrizePool * 85 / 100; } function payDailyJackpot() external onlyTrusted { require(dailyJackpotTime != 0); //removed for testing //require(block.timestamp >= dailyJackpotTime + 23 hours); require(gameOver == false); coinJackpot(); uint256 jackpot = startingPrizePool / 100; PrizePool -= startingPrizePool / 25; uint8[4] memory winningTraits = getWinningTraits(); uint8[4] memory numberOfWinners = [20, 10, 4, 1]; for (uint8 q = 0; q < 4; q++) { address[] memory winners = new address[](numberOfWinners[q]); winners = randTraitTicket(winningTraits[q], numberOfWinners[q]); uint256 prize = jackpot / numberOfWinners[q]; for (uint8 i = 0; i < numberOfWinners[q]; i++) { addClaimableUSDC(winners[i], prize); } } dailyJackpotCounter += 1; if (dailyJackpotCounter == 25) { endGame(); } else { dailyJackpotTime = uint32(block.timestamp); } for (uint8 i = 0; i < 80; i++) { dailyPurgeCount[i] = 0; } } function coinJackpot() private{ uint256 dailyCoinBurn = purgedCoin.dailyCoinBurn(); if (dailyCoinBurn < 1600 * million) dailyCoinBurn = 1600 * million; uint256 dailyCoinJackpot = dailyCoinBurn * 3 / 20; purgedCoin.resetDailyCoinBurn(); uint256 randomNum = uint256(keccak256(abi.encodePacked(block.timestamp, block.prevrandao,"1"))); uint8[] memory selectedTraits = new uint8[](12); uint8[4] memory winningTrait; //Picks 3 traits from each quadrant for (uint8 i = 0; i < 12; i++) { selectedTraits[i] = uint8(randomNum >> i * 6 & 0x3f); } // Retrieve totalCoinBurn values for the selected traits uint256[] memory burnCounts = new uint256[](12); burnCounts = purgedCoin.getSeasonCoinBurn(selectedTraits); // Picks the trait with the highest burn count from each quadrant for (uint8 q = 0; q < 4; q++) { uint256 max = 0; for (uint8 i = 0; i < 3; i++) { uint8 trait = q * 3 + i; if (burnCounts[trait] >= max) { max = burnCounts[trait]; winningTrait[q] = selectedTraits[trait] + (q << 6); } } } //Picks 5 random tickets from each winning trait, then mints the jackpot to the players with the biggest luckboxes address[] memory winners = new address[](5); for (uint8 q = 0; q < 4; q++) { winners = randTraitTicket(winningTrait[q], 5); address luckbox = payTopLuckbox(winners, dailyCoinJackpot); if (luckbox != address(0)) { emit CoinPaid(luckbox, dailyCoinJackpot, true); } } } function payTopLuckbox(address[] memory winners, uint256 dailyCoinJackpot) internal returns (address) { address topLuckbox = getTopLuckbox(winners); if (topLuckbox != address(0) && dailyCoinJackpot > 0) { purgedCoin.mintInGame(topLuckbox, dailyCoinJackpot); } else { emit LuckboxFail(winners); } return topLuckbox; } function getTopLuckbox(address[] memory players) public view returns (address) { uint256 highestLuckboxValue = 0; address topLuckbox; uint256 numberOfPlayers = players.length; for (uint8 i = 0; i < numberOfPlayers; i++) { address player = players[i]; uint256 luckboxValue = purgedCoin.getPlayerLuckbox(player); if (luckboxValue > highestLuckboxValue) { highestLuckboxValue = luckboxValue; topLuckbox = player; } } if (highestLuckboxValue == 0) { topLuckbox = address(0); } return topLuckbox; } event LuckboxFail(address[] winners); function getWinningTraits() private view returns (uint8[4] memory) { uint8[4] memory winningTraits; uint256 randomNum = uint256(keccak256(abi.encodePacked(block.timestamp, block.prevrandao, "2"))); uint8[3] memory start = [0, 8, 16]; uint8[3] memory end = [8, 16, 80]; for (uint8 q = 0; q < 3; q++) { uint32 maxCount = dailyPurgeCount[start[q]]; uint8 winner = start[q]; for (uint8 i = start[q] + 1; i < end[q]; i++) { if (dailyPurgeCount[i] > maxCount) { maxCount = dailyPurgeCount[i]; winner = i; } else if (dailyPurgeCount[i] == maxCount) { if ((randomNum >> i & 0x1) == 1) { winner = i; } } } if (q == 0) { winningTraits[0] = uint8((randomNum >> 8) & 0x7) * 8 + winner; } else if (q == 1) { winningTraits[1] = winner * 8 + uint8((randomNum >> 16) & 0x7) + 64; } else if (q == 2) { winningTraits[2] = winner + 128; } } winningTraits[3] = uint8((randomNum >> 32) & 0x3F) + 192; return winningTraits; } function randTraitTicket(uint8 trait, uint8 amount) private returns (address[] memory) { address[] memory selectedTickets = new address[](amount); uint256 randomNum = uint256(keccak256(abi.encodePacked(block.timestamp, block.prevrandao,trait))); uint256 numberOfTickets = traitPurgeTicket[trait].length; for (uint8 i = 0; i < amount; i++) { uint256 rand = randomNum << (i * 16); uint256 randomTicket = rand % numberOfTickets; selectedTickets[i] = traitPurgeTicket[trait][randomTicket]; emit RandomTicket(trait, uint32(randomTicket), selectedTickets[i]); } return selectedTickets; } function usdcReceive(uint256 amount, string calldata referralCode) private{ require(IERC20(usdcTokenAddress).balanceOf(msg.sender) >= amount, "Insufficient USDC balance"); require(IERC20(usdcTokenAddress).allowance(msg.sender, address(this)) >= amount, "USDC allowance too low"); require(IERC20(usdcTokenAddress).transferFrom(msg.sender, address(this), amount), "USDC transfer failed"); PrizePool += amount; purgedCoin.payReferrer(amount / 20, referralCode, msg.sender); } function coinReceive(uint256 amount) private{ require(purgedCoin.balanceOf(msg.sender) >= amount, "Not enough $PURGED"); purgedCoin.burnInGame(msg.sender, amount); } function claimWinnings() external { address player = msg.sender; uint256 winnings = claimableWinnings[player]; require (winnings > 0, "No winnings to claim"); claimableWinnings[player] = 0; require(IERC20(usdcTokenAddress).transfer(player, winnings), "USDC transfer failed"); } // Anti-hack funtion. The traits generated by minting will not correspond to the token minted. function setOffset(uint32 _offset) external onlyTrusted{ require(offset == 0, "Offset already set"); require(_offset > 0 && _offset < maxTokens, "Offset out of range"); offset = _offset; } function realTraitsFromTokenId(uint32 _tokenId) private view returns(uint32){ if (offset != 0){ if (_tokenId < maxTokens){ if (_tokenId + offset <= totalMinted) return(_tokenId + offset); else return(_tokenId + offset - totalMinted); } } return(_tokenId); } // Owner game-running functions. function setPublicSaleStatus(bool _status) external onlyTrusted { require(REVEAL == false); publicSaleStatus = _status; } function reveal(string calldata updatedURI) external onlyTrusted { require(REVEAL == false); require(paidJackpot == true); require(offset != 0); require(publicSaleStatus == false); REVEAL = true; baseTokenURI = updatedURI; dailyJackpotTime = uint32(block.timestamp); } function addTrustedAddress(address _address) external onlyTrusted { trustedAddresses[_address] = true; } function removeTrustedAddress(address _address) external onlyTrusted { require(_address != _owner, "Cannot remove owner"); trustedAddresses[_address] = false; } receive() external payable {} function withdrawEth() external onlyTrusted { (bool success, ) = payable(_owner).call{value: address(this).balance}(""); require(success, "Transfer failed."); } // Winnings must be claimed by 6 months after the game ends. function withdrawAbandoned() external onlyTrusted { require(gameOver == true); require(block.timestamp > gameEndTime + 180 days); IERC20(usdcTokenAddress).transfer(_owner, IERC20(usdcTokenAddress).balanceOf(address(this))); } function setTokenUri(string calldata updatedURI) external onlyTrusted{ baseTokenURI = updatedURI; } function tokenURI(uint256 tokenId) public view override returns (string memory) { return string(abi.encodePacked(baseTokenURI, tokenId.toString())); } /* function _update(address to, uint256 tokenId, address auth) internal virtual override returns (address) { if (gameOver == true) { require(block.timestamp > gameEndTime + 24 hours, "Transfers disabled for 24h after game over"); }else if (to == address(0)) { require(purging == true, "Use purge function"); } return super._update(to, tokenId, auth); } */ event MintAndPurge(uint32 tokenId, uint24 tokenTraits, address from); event TokenMinted(uint32 tokenId, uint24 tokenTraits, address from); event RandomTicket(uint8 trait, uint32 random, address player); event CoinPaid(address from, uint256 amount, bool coin); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; interface PurgedCoinInterface { function mintInGame(address yourAddress, uint256 _amount) external; function burnInGame(address yourAddress, uint256 _amount) external; function balanceOf(address account) external view returns (uint256); function getPlayerLuckbox(address player) external view returns(uint256); function dailyCoinBurn() external view returns(uint256); function getSeasonCoinBurn(uint8[] calldata traits) external view returns (uint256[] memory); function resetDailyCoinBurn() external; function resetSeasonCoinBurn() external; function payReferrer(uint256 amount, string calldata _referralCode, address sender) external; } interface FakeCoinInterface { function giveMoney(address to, uint256 amount) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) pragma solidity ^0.8.0; /** * @dev String operations. */ library Strings { bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; /** * @dev Converts a `uint256` to its ASCII `string` decimal representation. */ function toString(uint256 value) internal pure returns (string memory) { // Inspired by OraclizeAPI's implementation - MIT licence // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. */ function toHexString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0x00"; } uint256 temp = value; uint256 length = 0; while (temp != 0) { length++; temp >>= 8; } return toHexString(value, length); } /** * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. */ function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { bytes memory buffer = new bytes(2 * length + 2); buffer[0] = "0"; buffer[1] = "x"; for (uint256 i = 2 * length + 1; i > 1; --i) { buffer[i] = _HEX_SYMBOLS[value & 0xf]; value >>= 4; } require(value == 0, "Strings: hex length insufficient"); return string(buffer); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/ERC721.sol) pragma solidity ^0.8.0; import "./IERC721.sol"; import "./IERC721Receiver.sol"; import "./extensions/IERC721Metadata.sol"; import "../../utils/Address.sol"; import "../../utils/Context.sol"; import "../../utils/Strings.sol"; import "../../utils/introspection/ERC165.sol"; /** * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including * the Metadata extension, but not including the Enumerable extension, which is available separately as * {ERC721Enumerable}. */ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { using Address for address; using Strings for uint256; // Token name string private _name; // Token symbol string private _symbol; // Mapping from token ID to owner address mapping(uint256 => address) private _owners; // Mapping owner address to token count mapping(address => uint256) private _balances; // Mapping from token ID to approved address mapping(uint256 => address) private _tokenApprovals; // Mapping from owner to operator approvals mapping(address => mapping(address => bool)) private _operatorApprovals; /** * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); } /** * @dev See {IERC721-balanceOf}. */ function balanceOf(address owner) public view virtual override returns (uint256) { require(owner != address(0), "ERC721: balance query for the zero address"); return _balances[owner]; } /** * @dev See {IERC721-ownerOf}. */ function ownerOf(uint256 tokenId) public view virtual override returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } /** * @dev See {IERC721Metadata-name}. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev See {IERC721Metadata-symbol}. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev See {IERC721Metadata-tokenURI}. */ function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); string memory baseURI = _baseURI(); return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; } /** * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each * token will be the concatenation of the `baseURI` and the `tokenId`. Empty * by default, can be overridden in child contracts. */ function _baseURI() internal view virtual returns (string memory) { return ""; } /** * @dev See {IERC721-approve}. */ function approve(address to, uint256 tokenId) public virtual override { address owner = ERC721.ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require( _msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _approve(to, tokenId); } /** * @dev See {IERC721-getApproved}. */ function getApproved(uint256 tokenId) public view virtual override returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } /** * @dev See {IERC721-setApprovalForAll}. */ function setApprovalForAll(address operator, bool approved) public virtual override { _setApprovalForAll(_msgSender(), operator, approved); } /** * @dev See {IERC721-isApprovedForAll}. */ function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { return _operatorApprovals[owner][operator]; } /** * @dev See {IERC721-transferFrom}. */ function transferFrom( address from, address to, uint256 tokenId ) public virtual override { //solhint-disable-next-line max-line-length require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _transfer(from, to, tokenId); } /** * @dev See {IERC721-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } /** * @dev See {IERC721-safeTransferFrom}. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory _data ) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); _safeTransfer(from, to, tokenId, _data); } /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * `_data` is additional data, it has no specified format and it is sent in call to `to`. * * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g. * implement alternative mechanisms to perform token transfer, such as signature-based. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function _safeTransfer( address from, address to, uint256 tokenId, bytes memory _data ) internal virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } /** * @dev Returns whether `tokenId` exists. * * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. * * Tokens start existing when they are minted (`_mint`), * and stop existing when they are burned (`_burn`). */ function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } /** * @dev Returns whether `spender` is allowed to manage `tokenId`. * * Requirements: * * - `tokenId` must exist. */ function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721.ownerOf(tokenId); return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender); } /** * @dev Safely mints `tokenId` and transfers it to `to`. * * Requirements: * * - `tokenId` must not exist. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function _safeMint(address to, uint256 tokenId) internal virtual { _safeMint(to, tokenId, ""); } /** * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is * forwarded in {IERC721Receiver-onERC721Received} to contract recipients. */ function _safeMint( address to, uint256 tokenId, bytes memory _data ) internal virtual { _mint(to, tokenId); require( _checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer" ); } /** * @dev Mints `tokenId` and transfers it to `to`. * * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible * * Requirements: * * - `tokenId` must not exist. * - `to` cannot be the zero address. * * Emits a {Transfer} event. */ function _mint(address to, uint256 tokenId) internal virtual { require(to != address(0), "ERC721: mint to the zero address"); require(!_exists(tokenId), "ERC721: token already minted"); _beforeTokenTransfer(address(0), to, tokenId); _balances[to] += 1; _owners[tokenId] = to; emit Transfer(address(0), to, tokenId); _afterTokenTransfer(address(0), to, tokenId); } /** * @dev Destroys `tokenId`. * The approval is cleared when the token is burned. * * Requirements: * * - `tokenId` must exist. * * Emits a {Transfer} event. */ function _burn(uint256 tokenId) internal virtual { address owner = ERC721.ownerOf(tokenId); _beforeTokenTransfer(owner, address(0), tokenId); // Clear approvals _approve(address(0), tokenId); _balances[owner] -= 1; delete _owners[tokenId]; emit Transfer(owner, address(0), tokenId); _afterTokenTransfer(owner, address(0), tokenId); } /** * @dev Transfers `tokenId` from `from` to `to`. * As opposed to {transferFrom}, this imposes no restrictions on msg.sender. * * Requirements: * * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * * Emits a {Transfer} event. */ function _transfer( address from, address to, uint256 tokenId ) internal virtual { require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer from incorrect owner"); require(to != address(0), "ERC721: transfer to the zero address"); _beforeTokenTransfer(from, to, tokenId); // Clear approvals from the previous owner _approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); _afterTokenTransfer(from, to, tokenId); } /** * @dev Approve `to` to operate on `tokenId` * * Emits a {Approval} event. */ function _approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ERC721.ownerOf(tokenId), to, tokenId); } /** * @dev Approve `operator` to operate on all of `owner` tokens * * Emits a {ApprovalForAll} event. */ function _setApprovalForAll( address owner, address operator, bool approved ) internal virtual { require(owner != operator, "ERC721: approve to caller"); _operatorApprovals[owner][operator] = approved; emit ApprovalForAll(owner, operator, approved); } /** * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address. * The call is not executed if the target address is not a contract. * * @param from address representing the previous owner of the given token ID * @param to target address that will receive the tokens * @param tokenId uint256 ID of the token to be transferred * @param _data bytes optional data to send along with the call * @return bool whether the call correctly returned the expected magic value */ function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { if (to.isContract()) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } /** * @dev Hook that is called before any token transfer. This includes minting * and burning. * * Calling conditions: * * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be * transferred to `to`. * - When `from` is zero, `tokenId` will be minted for `to`. * - When `to` is zero, ``from``'s `tokenId` will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 tokenId ) internal virtual {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (utils/Address.sol) pragma solidity ^0.8.1; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ 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"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol) pragma solidity ^0.8.0; /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { /** * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} * by `operator` from `from`, this function is called. * * It must return its Solidity selector to confirm the token transfer. * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`. */ function onERC721Received( address operator, address from, uint256 tokenId, bytes calldata data ) external returns (bytes4); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol) pragma solidity ^0.8.0; import "./IERC165.sol"; /** * @dev Implementation of the {IERC165} interface. * * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check * for the additional interface id that will be supported. For example: * * ```solidity * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); * } * ``` * * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. */ abstract contract ERC165 is IERC165 { /** * @dev See {IERC165-supportsInterface}. */ function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(IERC165).interfaceId; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol) pragma solidity ^0.8.0; import "../IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional metadata extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Metadata is IERC721 { /** * @dev Returns the token collection name. */ function name() external view returns (string memory); /** * @dev Returns the token collection symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. */ function tokenURI(uint256 tokenId) external view returns (string memory); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"purgedCoinContract","type":"address"},{"internalType":"address","name":"_usdcTokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"coin","type":"bool"}],"name":"CoinPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"winners","type":"address[]"}],"name":"LuckboxFail","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint24","name":"tokenTraits","type":"uint24"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"MintAndPurge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"trait","type":"uint8"},{"indexed":false,"internalType":"uint32","name":"random","type":"uint32"},{"indexed":false,"internalType":"address","name":"player","type":"address"}],"name":"RandomTicket","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"tokenId","type":"uint32"},{"indexed":false,"internalType":"uint24","name":"tokenTraits","type":"uint24"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"TokenMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"PrizePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REVEAL","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addTrustedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimWinnings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimableWinnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dailyJackpotTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"dailyPurgeCount","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fakeCoin","outputs":[{"internalType":"contract FakeCoinInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gameEndTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gameOver","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"players","type":"address[]"}],"name":"getTopLuckbox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"million","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"coin","type":"bool"},{"internalType":"string","name":"referralCode","type":"string"}],"name":"miniPurge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_number","type":"uint32"},{"internalType":"bool","name":"coin","type":"bool"},{"internalType":"string","name":"referralCode","type":"string"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_number","type":"uint32"},{"internalType":"bool","name":"coin","type":"bool"},{"internalType":"string","name":"referralCode","type":"string"}],"name":"mintAndPurge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payDailyJackpot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"payMapJackpot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"publicSaleStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"tokenIds","type":"uint32[]"}],"name":"purge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"purgedCoin","outputs":[{"internalType":"contract PurgedCoinInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeTrustedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"updatedURI","type":"string"}],"name":"reveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_offset","type":"uint32"}],"name":"setOffset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setPublicSaleStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"updatedURI","type":"string"}],"name":"setTokenUri","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startingPrizePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"test","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"}],"name":"tokenTraits","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMinted","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"traitRemaining","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdcTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAbandoned","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000caf411c03033e7a2488b2e7ba0bb59b155f0e8e10c73f3bddc2aed6c4d80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004000000000000000000000000078c74d3f733c38acab41b21beadef7aed40050de000000000000000000000000be69bdb819591029cfd50cb2c204c7374dac1e89
Deployed Bytecode
0x00040000000000020019000000000002000000600310027000000bc20030019d00000bc2043001970003000000410355000200000001035500000001002001900000006c0000c13d0000008002000039000000400020043f000000040040008c000000b40000413d000000000201043b000000e00220027000000bce0020009c000000b80000213d00000bee0020009c000000cb0000213d00000bfe0020009c000001580000213d00000c060020009c000002040000213d00000c0a0020009c000005700000613d00000c0b0020009c000003380000613d00000c0c0020009c000013ba0000c13d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b00000bc90020009c000013ba0000213d0000002303200039000000000043004b000013ba0000813d001400040020003d0000001401100360000000000101043b001500000001001d00000bc90010009c000013ba0000213d0000002402200039001300000002001d0000001501200029000000000041004b000013ba0000213d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000003b01000039000000000301041a000000010030019000000001023002700000007f0220618f0000001f0020008c00000000040000390000000104002039000000000343013f0000000100300190000009620000c13d000000200020008c000000620000413d000000000010043f00000015040000290000001f03400039000000050330027000000c600330009a000000200040008c00000c2e030040410000001f02200039000000050220027000000c600220009a000000000023004b000000620000813d000000000003041b0000000103300039000000000023004b0000005e0000413d00000015020000290000001f0020008c000012b10000a13d000000000010043f000000200200008a0000001503200180000013da0000c13d00000c2e020000410000000004000019000013e60000013d0000000002000416000000000002004b000013ba0000c13d0000001f0240003900000bc3022001970000008002200039000000400020043f0000001f0340018f00000bc40540019800000080025000390000007d0000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b000000790000c13d000000000003004b0000008a0000613d000000000151034f0000000303300210000000000502043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f0000000000120435000000400040008c000013ba0000413d000000800200043d00000bc50020009c000013ba0000213d000000a00100043d001500000001001d00000bc50010009c000013ba0000213d001400000002001d000000400300043d00000bc60030009c000000ae0000213d0000004001300039000000400010043f0000001401000039000000000213043600000bc701000041001200000002001d0000000000120435000000400100043d001300000001001d00000bc60010009c000000ae0000213d00000013020000290000004001200039000000400010043f0000000d01000039000000000212043600000bc801000041001000000002001d00000000001204350000000001030433001100000001001d00000bc90010009c000009590000a13d00000c8b01000041000000000010043f0000004101000039000000040010043f00000c630100004100002f0500010430000000000004004b000013ba0000c13d000000000100001900002f040001042e00000bcf0020009c000001190000213d00000bdf0020009c000001650000213d00000be70020009c000002310000213d00000beb0020009c000005840000613d00000bec0020009c000003650000613d00000bed0020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000601000039000000000101041a000000b001100270000008580000013d00000bef0020009c000001b60000213d00000bf70020009c000002560000213d00000bfb0020009c0000058d0000613d00000bfc0020009c0000036c0000613d00000bfd0020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000601000039000000000101041a00000c1b00100198000013ba0000613d000000900110027000000bc201100197001500000001001d00000c610010009c000017f60000213d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000150200002900000c620220009a000000000101043b000000000021004b000013ba0000a13d0000000701000039000000000201041a0000000801000039000000000101041a001200000001001d000000400300043d00000c32010000410000000000130435000000000100041000000bc501100197001500000003001d00000004033000390000000000130435000000000100041400000bc502200197001400000002001d000000040020008c000012bf0000c13d0000000103000031000000200030008c00000020040000390000000004034019000012ea0000013d00000bd00020009c000001c30000213d00000bd80020009c000002b90000213d00000bdc0020009c000005bf0000613d00000bdd0020009c0000037e0000613d00000bde0020009c000013ba0000c13d000000440040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b000000000002004b0000000003000039000000010300c039000000000032004b000013ba0000c13d0000002403100370000000000303043b00000bc90030009c000013ba0000213d0000002305300039000000000045004b000013ba0000813d001400040030003d0000001401100360000000000101043b001500000001001d00000bc90010009c000013ba0000213d00000015013000290000002401100039000000000041004b000013ba0000213d0000000601000039000000000101041a0000ff0000100190000005b50000613d00000c3201000041000000800010043f000000000100041100000bc501100197001300000001001d000000840010043f000000000002004b00000c390000c13d0000000701000039000000000201041a000000000100041400000bc502200197001200000002001d000000040020008c000013430000c13d0000000103000031000000200030008c00000020040000390000000004034019000013690000013d00000bff0020009c000002c40000213d00000c030020009c000006030000613d00000c040020009c000003890000613d00000c050020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000b010000390000038d0000013d00000be00020009c000002f20000213d00000be40020009c000008520000613d00000be50020009c000003910000613d00000be60020009c000013ba0000c13d000000640040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b001400000002001d00000bc20020009c000013ba0000213d0000002402100370000000000202043b000000000002004b0000000003000039000000010300c039000000000032004b000013ba0000c13d0000004403100370000000000303043b00000bc90030009c000013ba0000213d0000002305300039000000000045004b000013ba0000813d001200040030003d0000001201100360000000000101043b001500000001001d00000bc90010009c000013ba0000213d00000015013000290000002401100039000000000041004b000013ba0000213d0000000601000039000000000101041a0000ff0000100190000005b50000613d000000140100002900000c480010009c000017f60000213d000000140100002900110c49001000d5000000000001004b000001a20000613d000000110100002900000bc901100197000000140300002900000064033000c900000c4a0330019700000000013100d900000c4b0010009c000017f60000c13d00000c3201000041000000800010043f000000000100041100000bc501100197001300000001001d000000840010043f000000000002004b0000141d0000c13d0000000701000039000000000201041a000000000100041400000bc502200197001000000002001d000000040020008c000014d20000c13d0000000103000031000000200030008c00000020040000390000000004034019000014f80000013d00000bf00020009c000002ff0000213d00000bf40020009c0000085c0000613d00000bf50020009c000003a50000613d00000bf60020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000901000039000005880000013d00000bd10020009c000003110000213d00000bd50020009c000008630000613d00000bd60020009c000003b00000613d00000bd70020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000a01000039000000000101041a00000c1702000041000000000020044300000bc501100197001500000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400400043d000000240140003900000c1202000041000000000021043500000c1901000041000000000014043500000004014000390000000002000411000000000021043500000000010004140000001502000029000000040020008c000001ff0000613d00000bc20040009c00000bc2030000410000000003044019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c1a011001c7001500000004001d2f032ef90000040f0000001504000029000000600310027000010bc20030019d0003000000010355000000010020019000000b490000613d00000bc90040009c000000ae0000213d000000400040043f000000000100001900002f040001042e00000c070020009c0000087e0000613d00000c080020009c0000049d0000613d00000c090020009c000013ba0000c13d000000440040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b001500000002001d00000bc50020009c000013ba0000213d0000002401100370000000000101043b001400000001001d000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc50110019800000a4a0000c13d000000400100043d000000640210003900000c91030000410000000000320435000000440210003900000c920300004100000000003204350000002402100039000000290300003900000a550000013d00000be80020009c0000089c0000613d00000be90020009c000004a60000613d00000bea0020009c000013ba0000c13d000000440040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b001500000002001d00000bc50020009c000013ba0000213d0000002401100370000000000201043b000000000002004b0000000001000039000000010100c039001400000002001d000000000012004b000013ba0000c13d0000000002000411000000150020006c00000a600000c13d00000c1001000041000000800010043f0000002001000039000000840010043f0000001901000039000000a40010043f00000c5601000041000000c40010043f00000c570100004100002f050001043000000bf80020009c000008bb0000613d00000bf90020009c000004d30000613d00000bfa0020009c000013ba0000c13d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b00000bc90020009c000013ba0000213d0000002303200039000000000043004b000013ba0000813d001400040020003d0000001401100360000000000101043b001500000001001d00000bc90010009c000013ba0000213d0000002402200039001300000002001d0000001501200029000000000041004b000013ba0000213d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000601000039000000000101041a00000c0e00100198000013ba0000613d00000c4500100198000013ba0000c13d000000ff00100190000013ba0000613d0000ff0000100190000013ba0000c13d00000c5e0110019700000c5f011001c70000000602000039000000000012041b0000003b01000039000000000301041a000000010030019000000001023002700000007f0220618f0000001f0020008c00000000040000390000000104002039000000000343013f0000000100300190000009620000c13d000000200020008c000002af0000413d000000000010043f00000015040000290000001f03400039000000050330027000000c600330009a000000200040008c00000c2e030040410000001f02200039000000050220027000000c600220009a000000000023004b000002af0000813d000000000003041b0000000103300039000000000023004b000002ab0000413d0000001502000029000000200020008c000014a80000413d000000000010043f000000200200008a0000001503200180000015b40000c13d00000c2e020000410000000004000019000015c00000013d00000bd90020009c000008d20000613d00000bda0020009c000004da0000613d00000bdb0020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000a01000039000005880000013d00000c000020009c000008fc0000613d00000c010020009c000004f90000613d00000c020020009c000013ba0000c13d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b00000bc90020009c000013ba0000213d0000002303200039000000000043004b000013ba0000813d0000000403200039000000000131034f000000000101043b000400000001001d00000bc90010009c000013ba0000213d000200240020003d000000040100002900000005011002100000000201100029000000000041004b000013ba0000213d0000000601000039000000000101041a00000c1b0010019800000b8a0000c13d00000c450010019800000c290000c13d00000c1001000041000000800010043f0000002001000039000000840010043f0000001801000039000000a40010043f00000c8901000041000000c40010043f00000c570100004100002f050001043000000be10020009c000009030000613d00000be20020009c0000050a0000613d00000be30020009c000013ba0000c13d0000000001000416000000000001004b000013ba0000c13d0000000601000039000000000101041a0000ff0000100190000003840000013d00000bf10020009c0000091e0000613d00000bf20020009c000005320000613d00000bf30020009c000013ba0000c13d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b00000bc50010009c000013ba0000213d000000000010043f0000003a01000039000009f40000013d00000bd20020009c0000092d0000613d00000bd30020009c000005490000613d00000bd40020009c000013ba0000c13d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b001500000001001d00000bc50010009c000013ba0000213d0000000001000411000000000010043f0000003701000039000000200010043f000000400200003900000000010000192f032ecd0000040f000000000101041a000000ff0110018f2f0325fe0000040f0000001501000029000000000010043f0000003701000039000000200010043f000000000100001900000040020000392f032ecd0000040f000000000301041a00000c9a0230019700000001022001bf000000000021041b000000000100001900002f040001042e000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b00000bc90020009c000013ba0000213d0000002303200039000000000043004b000013ba0000813d0000000403200039000000000331034f000000000503043b00000bc90050009c000000ae0000213d00000005035002100000003f0630003900000c770660019700000c1d0060009c000000ae0000213d0000008006600039000000400060043f000000800050043f00000024022000390000000003230019000000000043004b000013ba0000213d000000000005004b000003610000613d0000008004000039000000000521034f000000000505043b00000bc50050009c000013ba0000213d000000200440003900000000005404350000002002200039000000000032004b000003580000413d00000080010000392f0325520000040f00000bc501100197000009260000013d0000000001000416000000000001004b000013ba0000c13d0000000601000039000000000101041a00000c4500100198000003840000013d0000000001000416000000000001004b000013ba0000c13d00000000010400192f0325220000040f001500000001001d001400000002001d0000000002030019001300000003001d00000000010004112f0328d70000040f2f0326650000040f0000001501000029000000140200002900000013030000292f03296c0000040f000000000100001900002f040001042e0000000001000416000000000001004b000013ba0000c13d0000000601000039000000000101041a00000c1b001001980000000001000039000000010100c039000000800010043f00000c2d0100004100002f040001042e0000000001000416000000000001004b000013ba0000c13d0000000c01000039000000000101041a000000800010043f00000c2d0100004100002f040001042e000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b00000bc20010009c000013ba0000213d000000000010043f0000003801000039000000200010043f000000400200003900000000010000192f032ecd0000040f000000000101041a00000c5401100197000000800010043f00000c2d0100004100002f040001042e000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b000000ff0010008c000013ba0000213d2f0325340000040f000005030000013d0000000001000416000000000001004b000013ba0000c13d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000601000039000000000101041a00000c1c00100198000013ba0000613d00000c1b00100198000013ba0000c13d2f032a390000040f0000000b01000039000000000101041a0000000c02000039000000000302041a000000190410011a000000000343004b000017f60000413d000000000032041b000000400200043d00000c1d0020009c000000ae0000213d000b0064001001220000008003200039000000400030043f00000000010000310000000201100367000000000401034f000000004504043c0000000002520436000000000032004b000003dc0000c13d000000400200043d001500000002001d00000c1d0020009c000000ae0000213d00000015030000290000008002300039000000400020043f000000001401043c0000000003430436000000000023004b000003e70000c13d000000400100043d001400000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001300000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d00000014040000290000002002400039000000000101043b0000000000120435000000600140003900000c210300004100000000003104350000004001400039000000130300002900000000003104350000004101000039000000000014043500000c1d0040009c000000ae0000213d00000014030000290000008001300039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000400200043d00000c230020009c000000ae0000213d0000006003200039000000400030043f0000004003200039000000100400003900000000004304350000002003200039000000080500003900000000005304350000000000020435000000400300043d00000c230030009c000000ae0000213d0000006006300039000000400060043f0000004006300039000000500700003900000000007604350000002006300039000000000046043500000000005304350000001504000029001400200040003d00000040054000390000000504100270000000380640018f0000001004100270000000070740018f0000000008000019000004500000013d0000004004400039000000140900002900000000004904350000000104800039000000ff0840018f000000020080008c00001bb20000213d000000050480021000000000092400190000000009090433000000ff0b90018f0000004f00b0008c000024610000213d00000000043400190000000004040433000000ff0a40018f000000010fb000390000000000af004b000004810000813d0000000504b00210000000e00440018f0000000309b002700000002d09900039000000000909041a000000000449022f00000bc20c40019700000000040b00190000046a0000013d00000000040e0019000000000c0d0019000000010fb000390000000000af004b000004820000813d00000000090b00190000004e00b0008c000024610000213d000000000e040019000000000d0c0019000000000b0f00190000000504f00210000000e00440018f000000030cf002700000002d0cc00039000000000c0c041a00000000044c022f00000bc20c40019700000bc204d0019700000000004c004b00000000040f0019000004670000213d000004650000c13d000000000491022f0000000200400190000004650000613d00000000040b0019000004660000013d00000000040b0019000000ff09800190000004970000613d000000010090008c0000048e0000613d000000020090008c0000044c0000c13d000000ff0440018f0000007f0040008c000017f60000213d000000800440003900000000004504350000044c0000013d0000000309400210000000f80490018f000007f80990018f000000000094004b000017f60000c13d000000000474019f000000bf0040008c000004490000a13d000017f60000013d000000ff0440018f0000000004640019000000ff0040008c000017f60000213d00000015090000290000044b0000013d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b2f0326120000040f000009260000013d0000000001000416000000000001004b000013ba0000c13d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000801000039000000000101041a001500000001001d00000c5801000041000000000010044300000000010004100000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c70000800a020000392f032efe0000040f0000000100200190000024950000613d000000150200002900000bc504200197000000000301043b0000000001000414000000040040008c00000aee0000c13d0000000102000039000000010100003100000baf0000013d0000000001000416000000000001004b000013ba0000c13d0000000601000039000000000101041a0000009001100270000008580000013d0000000001000416000000000001004b000013ba0000c13d0000003b03000039000000000203041a000000010420019000000001012002700000007f0110618f0000001f0010008c00000000050000390000000105002039000000000552013f0000000100500190000009620000c13d000000800010043f000000000004004b0000099e0000613d000000000030043f000000000001004b0000000002000019000009a30000613d00000c2e030000410000000002000019000000000403041a000000a005200039000000000045043500000001033000390000002002200039000000000012004b000004f10000413d000009a30000013d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b0000004f0010008c000013ba0000213d2f0325140000040f0000000302200210000000000101041a000000000121022f00000bc201100197000000ff0020008c0000000001002019000009260000013d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000201043b000000000002004b0000000001000039000000010100c039001500000002001d000000000012004b000013ba0000c13d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000601000039000000000201041a00000c4500200198000013ba0000c13d00000c9b02200197000000150000006b000001000220c1bf000000000021041b000000000100001900002f040001042e000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b00000bc50010009c000013ba0000213d000000000001004b000009f20000c13d00000c1001000041000000800010043f0000002001000039000000840010043f0000002a01000039000000a40010043f00000c5b01000041000000c40010043f00000c5c01000041000000e40010043f00000c5d0100004100002f0500010430000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b001500000001001d00000bc20010009c000013ba0000213d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000601000039000000000201041a00000c0e0020019800000af50000c13d000000150400002900000c120340009a00000c130030009c00000ba00000213d000000400100043d000000440210003900000c150300004100000a460000013d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000201043b00000c9500200198000013ba0000c13d000000010100003900000c960220019700000c970020009c000009f90000613d00000c980020009c000009f90000613d00000c990020009c000000000100c019000000800010043f00000c2d0100004100002f040001042e0000000001000416000000000001004b000013ba0000c13d0000000701000039000000000101041a00000bc501100197000000800010043f00000c2d0100004100002f040001042e0000000002000416000000000002004b000013ba0000c13d000000640040008c000013ba0000413d0000000402100370000000000202043b001500000002001d00000bc20020009c000013ba0000213d0000002402100370000000000202043b000000000002004b0000000003000039000000010300c039000000000032004b000013ba0000c13d0000004403100370000000000303043b00000bc90030009c000013ba0000213d0000002305300039000000000045004b000013ba0000813d001300040030003d0000001301100360000000000101043b001400000001001d00000bc90010009c000013ba0000213d00000014013000290000002401100039000000000041004b000013ba0000213d001800150000002d001700010000003d0000000601000039000000000101041a0000ff0000100190000013820000c13d00000c1001000041000000800010043f0000002001000039000000840010043f0000000d01000039000000a40010043f00000c7e01000041000000c40010043f00000c570100004100002f0500010430000000840040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000502043b00000bc50050009c000013ba0000213d0000002402100370000000000202043b00000bc50020009c000013ba0000213d0000006403100370000000000603043b00000bc90060009c000013ba0000213d0000002303600039000000000043004b000013ba0000813d0000000407600039000000000371034f000000000303043b00000bc90030009c000000ae0000213d0000001f0930003900000c9c099001970000003f0990003900000c9c0990019700000c1d0090009c000000ae0000213d0000008009900039000000400090043f000000800030043f00000000063600190000002406600039000000000046004b000013ba0000213d0000002004700039000000000641034f00000c9c073001980000001f0830018f000000a004700039000005f10000613d000000a009000039000000000a06034f00000000ab0a043c0000000009b90436000000000049004b000005ed0000c13d000000000008004b000005fe0000613d000000000676034f0000000307800210000000000804043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000640435000000a00330003900000000000304350000004401100370000000000301043b000008cd0000013d0000000001000416000000000001004b000013ba0000c13d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff00100190000009480000613d0000000601000039000000000101041a0000ffff00100190000013ba0000c13d0000000c02000039000000000302041a00000055023000c9001500000003001d000000000003004b000006240000613d00000015032000fa000000550030008c000017f60000c13d000000640220011a0000000b03000039000000000023041b00000c9a0110019700000001011001bf0000000602000039000000000012041b0000000801000039000000000101041a001300000001001d0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001400000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d00000015010000290000000201100270000000130200002900000bc502200197000000400400043d0000002403400039000000000013043500000c66010000410000000000140435000a00000004001d0000000401400039000000000021043500000000010004140000001402000029000000040020008c000006610000613d0000000a0200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000014020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000013bc0000613d0000000a0100002900000bc90010009c000000ae0000213d0000000a01000029000000400010043f00000c8a0010009c000000ae0000213d0000000a030000290000012001300039000000400010043f00000000020000310000000202200367000000002402043c0000000003430436000000000013004b0000066d0000c13d000000400100043d001500000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001400000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d00000015030000290000002002300039000000000101043b00000000001204350000004001300039000000140400002900000000004104350000004001000039000000000013043500000c230030009c000000ae0000213d00000015030000290000006001300039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000ff0210018f0000000a060000290000000000260435000000010200003900000006032000c9000000000331022f0000003f0330018f0000000604200210000000c004400039000000c00440018f000000000334019f00000005042002100000000004640019000000200540003900000000003504350000000000340435000000060020008c0000000202200039000006b00000413d000000400100043d000900000001001d00000c8a0010009c000000ae0000213d00000009040000290000012001400039000000400010043f000001000140003900000014020000390000000000210435000000c0024000390000000501000039000000000012043500000080024000390000000803000039000000000032043500000040024000390000000000320435000000e00240003900000001030000390000000000320435000000a002400039000000000032043500000060024000390000000000320435000000200240003900000000003204350000000000340435000000400200043d000800000002001d00000c8a0020009c000000ae0000213d00000008040000290000012002400039000000400020043f00000100024000390000000a030000390000000000320435000000e0024000390000000000320435000000c00240003900000007030000390000000000320435000000a002400039000000030300003900000000003204350000008002400039000000060300003900000000003204350000006002400039000000040300003900000000003204350000004002400039000000000012043500000020024000390000000000120435000000640100003900000000001404350000000001000019000b00000001001d0000000502100210000c00000002001d0000000901200029001000000001001d0000000001010433000000ff0110018f00000005021002100000003f0320003900003fe00530018f000000400300043d0000000004350019000000000054004b0000000005000039000000010500403900000bc90040009c000000ae0000213d0000000100500190000000ae0000c13d000000400040043f000000000313043600000000010000310000000201100367000000000002004b000007190000613d0000000004230019000000000501034f000000005605043c0000000003630436000000000043004b000007150000c13d0000001f0020019000000010020000290000000002020433000000ff0220018f000f00000002001d00000005062002100000003f0360003900003fe00430018f000000400200043d001400000002001d0000000003240019000000000043004b0000000004000039000000010400403900000bc90030009c000000ae0000213d0000000100400190000000ae0000c13d0000000c020000290000000a042000290000000002040433001300000002001d000000400030043f00000014020000290000000f030000290000000002320436001100000002001d000000000006004b0000800b020000390000073d0000613d00000011040000290000000003640019000000001501043c0000000004540436000000000034004b000007390000c13d0000001f00600190000000400100043d001500000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c72f032efe0000040f0000000100200190000024950000613d000000000101043b001200000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d0000001302000029000000ff0320018f00000015040000290000002002400039000000000101043b0000000000120435001300000003001d000000f801300210000000600340003900000000001304350000004001400039000000120300002900000000003104350000004101000039000000000014043500000c1d0040009c000000ae0000213d00000015030000290000008001300039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000e00000001001d0000001301000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000000f0000006b000007e30000613d000000000101041a000d00000001001d000000000001004b0000230c0000613d0000000002000019001500000002001d0000000f0020008c000017f60000213d0000001301000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000150200002900000004022002100000000e022001ef0000000d302000fa000000000101043b000000000201041a000000000032004b000024610000a13d001200000003001d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000140200002900000000020204330000001504000029000000000042004b0000001205000029000024610000a13d0000000001510019000000000101041a00000bc50110019700000005024002100000001102200029000000000012043500000014020000290000000002020433000000000042004b000024610000a13d000000400200043d0000004003200039000000000013043500000bc201500197000000200320003900000000001304350000001301000029000000000012043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c25040000412f032ef90000040f0000000100200190000013ba0000613d000000150200002900000001022000390000000f0020006c000007940000413d0000000c0200002900000008012000290000000001010433000000ff0210018f0000000c01000039000000000301041a00000000013200a9000000000003004b000007ef0000613d00000000033100d9000000000023004b000017f60000c13d00000010020000290000000002020433000000ff022001900000230c0000613d000003e80110011a00150000002100e1000000000200001900000014010000290000000001010433000000000021004b000024610000a13d001200000002001d00000005012002100000001101100029000000000101043300000bc501100197001300000001001d000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000150020002a000017f60000413d00000015030000290000000002320019000000000021041b000000400100043d00000020021000390000000000320435000000130200002900000000002104350000004002100039000000000002043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c26040000412f032ef90000040f0000000100200190000013ba0000613d00000012010000290000000101100039000000ff0210018f00000010010000290000000001010433000000ff0110018f000000000012004b000007f60000413d0000000b010000290000000101100039000000ff0110018f000000090010008c000006fa0000413d0000000a010000290000000001010433000000ff0110018f000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a001200000001001d000000000001004b000023fa0000c13d0000000c01000039000000000101041a2f03264b0000040f000000640110011a0000000c02000039000000000012041b000000000100001900002f040001042e0000000001000416000000000001004b000013ba0000c13d0000000601000039000000000101041a000000700110027000000bc201100197000000800010043f00000c2d0100004100002f040001042e0000000001000416000000000001004b000013ba0000c13d00000c4b01000041000000800010043f00000c2d0100004100002f040001042e000000440040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b00000bc50020009c000013ba0000213d0000002401100370000000000101043b001500000001001d00000bc50010009c000013ba0000213d000000000020043f0000000501000039000000200010043f000000400200003900000000010000192f032ecd0000040f00000015020000292f0325420000040f000000000101041a000000ff001001900000000001000039000000010100c039000009260000013d0000000001000416000000000001004b000013ba0000c13d000000000200041a000000010320019000000001012002700000007f0110618f0000001f0010008c00000000040000390000000104002039000000000442013f0000000100400190000009620000c13d000000800010043f000000000003004b0000099e0000613d000000000000043f000000000001004b0000000002000019000009a30000613d00000c93030000410000000002000019000000000403041a000000a005200039000000000045043500000001033000390000002002200039000000000012004b000008940000413d000009a30000013d0000000001000416000000000001004b000013ba0000c13d0000000103000039000000000203041a000000010420019000000001012002700000007f0110618f0000001f0010008c00000000050000390000000105002039000000000552013f0000000100500190000009620000c13d000000800010043f000000000004004b0000099e0000613d000000000030043f000000000001004b0000000002000019000009a30000613d00000c5a030000410000000002000019000000000403041a000000a005200039000000000045043500000001033000390000002002200039000000000012004b000008b30000413d000009a30000013d000000640040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000502043b00000bc50050009c000013ba0000213d0000002402100370000000000202043b00000bc50020009c000013ba0000213d0000004401100370000000000301043b000000a001000039000000400010043f000000800000043f000000800400003900000000010500192f0326b70000040f000000000100001900002f040001042e000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000402100370000000000202043b000000000002004b000009b40000c13d000000c001000039000000400010043f0000000102000039000000800020043f00000c3102000041000000a00020043f0000003b04000039000000000304041a000000010530019000000001073002700000007f0770618f0000001f0070008c00000000020000390000000102002039000000000223013f0000000100200190000009620000c13d0000002002100039000000000005004b00000a220000613d000000000040043f000000000007004b00000a240000613d00000c2e0300004100000000040000190000000005240019000000000603041a000000000065043500000001033000390000002004400039000000000074004b000008f40000413d00000a240000013d0000000001000416000000000001004b000013ba0000c13d0000006401000039000000800010043f00000c2d0100004100002f040001042e0000000001000416000000000001004b000013ba0000c13d0000000001000411000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000000001004b000009fc0000c13d000000400100043d000000440210003900000c47030000410000000000320435000000240210003900000014030000390000094e0000013d000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b2f03267c0000040f000000400200043d000000000012043500000bc20020009c00000bc202008041000000400120021000000c2c011001c700002f040001042e000000240040008c000013ba0000413d0000000002000416000000000002004b000013ba0000c13d0000000401100370000000000101043b001500000001001d00000bc50010009c000013ba0000213d0000000001000411000000000010043f0000003701000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff0010019000000a3d0000c13d000000400100043d000000440210003900000c9403000041000000000032043500000024021000390000001f03000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c11011001c700002f0500010430000000000100041a000000010210019000000001041002700000007f0440618f0000001f0040008c00000000010000390000000101002039000000000012004b000009680000613d00000c8b01000041000000000010043f0000002201000039000000040010043f00000c630100004100002f0500010430000000200040008c000009880000413d000e00000004001d000f00000003001d000000000000043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d00000011030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b0000000e010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b0000000f03000029000009880000813d000000000002041b0000000102200039000000000012004b000009840000413d00000011040000290000001f0040008c000009e50000a13d000f00000003001d000000000000043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000110800002900000c9c02800198000000000101043b0000000f0700002900000a930000c13d0000002003000039000000130600002900000aa00000013d00000c9a02200197000000a00020043f000000000001004b00000020020000390000000002006039000000200220003900000080010000392f0324ed0000040f000000400100043d001500000001001d00000080020000392f0324ff0000040f0000001502000029000000000121004900000bc20010009c00000bc201008041000000600110021000000bc20020009c00000bc2020080410000004002200210000000000121019f00002f040001042e000000000341034f000000000502001900000000010000190000000004010019000000010110003a000017f60000613d000000090050008c0000000a0550011a000009b70000213d00000c2f0040009c000000ae0000213d00000c9c044001970000005f0640003900000c9c0660019700000c1d0060009c000000ae0000213d0000008006600039000000400060043f000000800010043f000000200440003900000c9c054001980000001f0440018f000009d10000613d000000a005500039000000a006000039000000003703043c0000000006760436000000000056004b000009cd0000c13d000000000004004b000000000001004b000017f60000613d000000010310008a000000800400043d000000000034004b000024610000a13d000000090020008c0000000a4220011a000000f8044002100000009f01100039000000000501043300000c3005500197000000000454019f00000c31044001c700000000004104350000000001030019000009d20000213d000000400100043d000008e10000013d000000000004004b0000000001000019000009ea0000613d00000012010000290000000001010433000000030240021000000c9d0220027f00000c9d02200167000000000121016f0000000102400210000000000121019f000000130600002900000aac0000013d000000000010043f0000000301000039000000200010043f000000400200003900000000010000192f032ecd0000040f000000000101041a000000800010043f00000c2d0100004100002f040001042e001500000001001d000000000100041100000bc501100197001400000001001d000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000001041b0000000701000039000000000201041a000000400b00043d0000002401b000390000001503000029000000000031043500000c460100004100000000001b04350000000401b0003900000014030000290000000000310435000000000100041400000bc502200197000000040020008c00000afc0000c13d0000000103000031000000200030008c0000002004000039000000000403401900000b280000013d00000c9a0330019700000000003204350000000006720019000000800200043d000000000002004b00000a300000613d00000000030000190000000004630019000000a005300039000000000505043300000000005404350000002003300039000000000023004b00000a290000413d000000000262001900000000000204350000000002120049000000200320008a0000000000310435001500000001001d2f0324ed0000040f000000400100043d001400000001001d00000015020000292f0324ff0000040f0000001402000029000009ab0000013d0000000801000039000000000101041a00000bc5011001970000001502000029000000000012004b00000b3e0000c13d000000400100043d000000440210003900000c16030000410000000000320435000000240210003900000013030000390000094e0000013d000000150010006b00000b560000c13d000000400100043d000000640210003900000c8f030000410000000000320435000000440210003900000c9003000041000000000032043500000024021000390000002103000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000000020043f0000000501000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000001502000029000000000020043f000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a00000c9a022001970000001403000029000000000232019f000000000021041b000000400100043d000000000031043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000bca011001c70000800d02000039000000030300003900000c5504000041000000000500041100000015060000292f032ef90000040f0000000100200190000000b60000c13d000013ba0000013d000000010320008a0000000503300270000000000431001900000020030000390000000104400039000000130600002900000000057300190000000005050433000000000051041b00000020033000390000000101100039000000000041004b00000a990000c13d000000000082004b00000aaa0000813d0000000302800210000000f80220018f00000c9d0220027f00000c9d0220016700000000037300190000000003030433000000000223016f000000000021041b000000010180021000000001011001bf000000000010041b0000000001060433001200000001001d00000bc90010009c000000ae0000213d0000000104000039000000000104041a000000010010019000000001031002700000007f0330618f0000001f0030008c00000000020000390000000102002039000000000121013f0000000100100190000009620000c13d000000200030008c00000adb0000413d001100000003001d000000000040043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d00000012030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b00000011010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b000000010400003900000adb0000813d000000000002041b0000000102200039000000000012004b00000ad70000413d00000012050000290000001f0050008c00000b940000a13d000000000040043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000200200008a0000001202200180000000000101043b000012400000c13d00000020030000390000124d0000013d00000bc20010009c00000bc201008041000000c001100210000000000003004b00000ba70000c13d000000000204001900000baa0000013d000000400100043d000000440210003900000c0f030000410000000000320435000000240210003900000012030000390000094e0000013d00000bc200b0009c00000bc20300004100000000030b4019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c1a011001c700150000000b001d2f032ef90000040f000000150b000029000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000b170000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000b130000c13d000000000006004b00000b240000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000be30000613d0000001f01400039000000600210018f0000000001b20019000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f000000200030008c000013ba0000413d00000000010b0433000000000001004b0000000002000039000000010200c039000000000021004b000013ba0000c13d2f0326a30000040f000000000100001900002f040001042e000000000020043f0000003701000039000000200010043f000000400200003900000000010000192f032ecd0000040f000000000201041a00000c9a02200197000000000021041b000000000100001900002f040001042e00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b510000c13d00000bee0000013d0000000002000411000000000012004b00000c010000c13d0000001401000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a00000bcc0220019700000015022001af000000000021041b0000001401000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc505100198000002270000613d000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c8304000041000000150600002900000014070000292f032ef90000040f0000000100200190000000b60000c13d000013ba0000013d00000c1001000041000000800010043f0000002001000039000000840010043f0000000901000039000000a40010043f00000c7f01000041000000c40010043f00000c570100004100002f0500010430000000000005004b000000000100001900000b990000613d00000010010000290000000001010433000000030250021000000c9d0220027f00000c9d02200167000000000121016f0000000102500210000000000121019f0000125b0000013d00000c1402200197000000300340021000000c0e03300197000000000232019f000000000021041b000000000100001900002f040001042e00000c22011001c7000080090200003900000000050000192f032ef90000040f0003000000010355000000600110027000010bc20010019d00000bc201100197000000000001004b00000bba0000c13d0000000100200190000000b60000c13d000000400100043d000000440210003900000c59030000410000000000320435000000240210003900000010030000390000094e0000013d00000bc90010009c000000ae0000213d0000001f0410003900000c9c044001970000003f0440003900000c9c05400197000000400400043d0000000005540019000000000045004b0000000006000039000000010600403900000bc90050009c000000ae0000213d0000000100600190000000ae0000c13d000000400050043f000000000614043600000c9c031001980000001f0410018f0000000001360019000000030500036700000bd50000613d000000000705034f000000007807043c0000000006860436000000000016004b00000bd10000c13d000000000004004b00000bb10000613d000000000335034f0000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f000000000031043500000bb10000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000bea0000c13d000000000005004b00000bfb0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000600130021000000bc20020009c00000bc2020080410000004002200210000000000112019f00002f0500010430000000000010043f0000000501000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000200041100000bc502200197000000000020043f000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000000ff0010019000000b590000c13d000000400100043d000000640210003900000c8c030000410000000000320435000000440210003900000c8d0300004100000000003204350000002402100039000000380300003900000a550000013d00000004020000290000012d0220008a00000c9e0020009c00000c450000213d00000c1001000041000000800010043f0000002001000039000000840010043f0000002a01000039000000a40010043f00000c8701000041000000c40010043f00000c8801000041000000e40010043f00000c5d0100004100002f05000104300000000901000039000000000201041a000000000100041400000bc502200197001500000002001d000000040020008c0000138e0000c13d0000000103000031000000200030008c00000020040000390000000004034019000013b40000013d00000c800110019700000c81011001c70000000602000039000000000012041b00000000020000190000000601000039000000000101041a00000c1b001001980000239c0000c13d000300000002001d000000050120021000000002011000290000000201100367000000000101043b001500000001001d00000bc20010009c000013ba0000213d0000001501000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc501100198000002270000613d0000000002000411000000000021004b000023ab0000c13d0000001501000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00140bc50010019c000002270000613d0000001501000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a00000bcc02200197000000000021041b0000001501000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc505100198000002270000613d000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c8304000041000000000600001900000015070000292f032ef90000040f0000000100200190000013ba0000613d0000001401000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000000002004b000017f60000613d000000010220008a000000000021041b0000001501000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a00000bcc02200197000000000021041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c040000410000001405000029000000000600001900000015070000292f032ef90000040f0000000100200190000013ba0000613d000000150100002900000c840110019700000c850010009c00000cf00000213d0000000601000039000000000101041a000000300210027000000bc20220019800000cf00000613d0000001503200029001500000003001d00000bc20030009c000017f60000213d000000700110027000000bc201100197000000150110006b00000cf00000a13d00000bc20010009c001500000001001d000017f60000213d0000001501000029000000000010043f0000003801000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000400200043d000700000002001d00000c1d0020009c000000ae0000213d000000000101043b000000000101041a00000007040000290000008002400039000000400020043f00000000030000310000000203300367000000003503043c0000000004540436000000000024004b00000d080000c13d00000012021002700000003f0220018f000000c0022001bf0000000704000029000000600340003900000000002304350000003f0210018f00000000052404360000000c021002700000003f0220018f00000080022001bf0000004003400039001200000003001d000000000023043500000006011002700000003f0110018f00000040011001bf001300000005001d0000000000150435000000000100041100060bc50010019b0000000001000019001500000001001d000000050110021000000007011000290000000001010433000000ff0110018f000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a00000bc90020009c000000ae0000213d001400000002001d0000000102200039000000000021041b000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000001401100029000000000201041a00000bcc0220019700000006022001af000000000021041b0000001501000029000000020010008c000000010110003900000d220000a13d0000000601000039000000000101041a00000c45001001980000122e0000613d0000002d01000039000000000101041a000000070200002900000000020204330000000502200210000000e00220018f000000000321022f00000bc20330019700000bc20030009c000017f60000613d000000010330003900000000032301cf00000bc20220021f00000c9d02200167000000000121016f000000000113019f0000002d02000039000000000012041b00000013010000290000000001010433000000ff0110018f000000400110008a000000ff0010008c000017f60000213d0000000202100210000000e00220018f0000000301100270000000080110003900000003011002700000002d01100039000000000301041a000000000423022f00000bc20440019700000bc20040009c000017f60000613d000000010440003900000000042401cf00000bc20220021f00000c9d02200167000000000223016f000000000224019f000000000021041b00000012010000290000000001010433000000ff0110018f000000800010008c000017f60000413d000000700110008a0000004f0010008c000024610000213d0000000502100210000000e00220018f00000003011002700000002d01100039000000000301041a000000000423022f00000bc20440019700000bc20040009c000017f60000613d000000010440003900000000042401cf00000bc20220021f00000c9d02200167000000000223016f000000000224019f000000000021041b000000000100001900000d9b0000013d00000005010000290000000101100039000000ff0110018f000000040010008c0000122e0000813d000500000001001d0000000501100210000000070110002900000000010104330000000502100210000000e00220018f000000ff0110018f000a00000001001d00000003011002700000000d01100039000000000301041a000000000423022f00000bc204400197000000010440008a00000bc20040009c000017f60000213d00000000042401cf00000bc20220021f00000c9d05200167000000000353016f000000000334019f000000000031041b000000000024017000000d960000c13d0000000601000039000000000101041a00000c1b0010019800000d960000c13d00000c6801000041000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc500100198000023560000c13d0000000601000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000010220003a000017f60000613d000000000021041b00000c6801000041000000000010043f0000000201000039000000200010043f00000c6902000041000000000102041a00000bcc0110019700000006011001af000000000012041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c040000410000000005000019000000000600041100000c68070000412f032ef90000040f0000000100200190000013ba0000613d0000000602000039000000000102041a00000c6a0110019700000c6b011001c7000000000012041b00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d0000000603000039000000000203041a00000c6c02200197000000000101043b000000900110021000000c6d01100197000000000112019f000000000013041b0000000901000039000000000201041a000000400a00043d00000c6e0100004100000000001a0435000000000100041400000bc502200197000000040020008c001400000002001d00000e180000c13d0000000103000031000000200030008c0000002004000039000000000403401900000e430000013d00000bc200a0009c00000bc20300004100000000030a4019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c6f011001c700150000000a001d2f032efe0000040f000000150a000029000000600310027000000bc203300197000000200030008c00000020040000390000000004034019000000200640019000000000056a001900000e320000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b00000e2e0000c13d0000001f0740019000000e3f0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000236a0000613d0000001f01400039000000600210018f0000000001a20019000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f000000200030008c000013ba0000413d00000000010a043300000c700010009c00000c700100a04100080003001000cd00000008011000f9000000030010008c000017f60000c13d00000c1701000041000000000010044300000014010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400400043d00000c71010000410000000001140436001300000001001d00000000010004140000001402000029000000040020008c001500000004001d00000e800000613d00000bc20040009c00000bc2030000410000000003044019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c6f011001c72f032ef90000040f0000001504000029000000600310027000010bc20030019d00030000000103550000000100200190000023760000613d00000bc90040009c000000ae0000213d0000001501000029000000400010043f00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001400000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000130200002900000000001204350000001503000029000000600130003900000c720200004100000000002104350000004001300039000000140200002900000000002104350000004101000039000000000013043500000c1d0030009c000000ae0000213d00000015020000290000008001200039000000400010043f000000130100002900000bc20010009c00000bc2010080410000004001100210000000000202043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000201043b000000400100043d001500000001001d00000c730010009c000000ae0000213d000000080100002900090014001001220000001504000029000001a003400039000000400030043f0000000c01000039000000000514043600000000010000310000000201100367000000000401034f001400000005001d000000004604043c0000000005650436000000000035004b00000ed00000c13d000000400300043d000b00000003001d00000c1d0030009c000000ae0000213d0000000b050000290000008003500039000000400030043f000000000401034f000000004604043c0000000005650436000000000035004b00000edc0000c13d0000000003000019000000150600002900000014070000290000000004060433000000000034004b000024610000a13d0000000504300210000000000474001900000006053000c9000000000552022f0000003f0550018f00000000005404350000000a0030008c000000010330003900000ee30000a13d000000400300043d00000c730030009c000000ae0000213d000001a002300039000000400020043f0000000c040000390000000003430436000000001401043c0000000003430436000000000023004b00000ef60000c13d0000000901000039000000000101041a000000400800043d00000c7402000041000000000028043500000004028000390000002003000039000000000032043500000015050000290000000002050433000000240380003900000000002304350000004403800039000000000002004b00000f110000613d000000000400001900000020055000390000000006050433000000ff0660018f00000000036304360000000104400039000000000024004b00000f0a0000413d00000bc5021001970000000001000414000000040020008c00000f180000c13d0000000301000367000000010300003100000f2e0000013d000000000383004900000bc20030009c00000bc203008041000000600330021000000bc20080009c001300000008001d00000bc20400004100000000040840190000004004400210000000000343019f00000bc20010009c00000bc201008041000000c001100210000000000113019f2f032efe0000040f000000600310027000010bc20030019d00000bc20330019700030000000103550000000100200190000023830000613d000000130800002900000c9c04300198000000000248001900000f370000613d000000000501034f0000000006080019000000005705043c0000000006760436000000000026004b00000f330000c13d0000001f0530019000000f440000613d000000000141034f0000000304500210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001204350000001f0130003900000c9c021001970000000001820019000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f00000c750030009c000013ba0000213d000000200030008c000013ba0000413d0000000004080019000000000208043300000bc90020009c000013ba0000213d0000000005040019000000000443001900000000025200190000001f03200039000000000043004b000000000500001900000c760500804100000c760330019700000c7606400197000000000763013f000000000063004b000000000300001900000c760300404100000c760070009c000000000305c019000000000003004b000013ba0000c13d000000003202043400000bc90020009c000000ae0000213d00000005052002100000003f0650003900000c7706600197000000000616001900000bc90060009c000000ae0000213d000000400060043f00000000022104360000000005350019000000000045004b000013ba0000213d000000000053004b000000150c000029000000140d00002900000f800000813d0000000004010019000000200440003900000000360304340000000000640435000000000053004b00000f7b0000413d000000000300001900000f860000013d0000000103300039000000ff0330018f000000030030008c00000fa90000213d00000005043002100000000b0440002900000003053000c90000000606300210000000c00660018f0000000007000019000000000800001900000f940000013d000000000084043500000000080900190000000107700039000000ff0770018f000000030070008c00000f820000813d000000000a570019000000ff00a0008c000017f60000213d00000000090104330000000000a9004b000024610000a13d000000050ba002100000000009b200190000000009090433000000000089004b00000f900000413d00000000080c04330000000000a8004b000024610000a13d0000000008db00190000000008080433000000ff0880018f0000000008680019000000ff0080008c00000f8e0000a13d000017f60000013d000000400200043d00000c780020009c000000ae0000213d000000c001200039000000400010043f0000000503000039000000000232043600000000030000310000000203300367000000003403043c0000000002420436000000000012004b00000fb20000c13d000c00000000001d00000fbe0000013d0000000c010000290000000101100039000000ff0110018f000c00000001001d000000040010008c000011620000813d000000400100043d001200000001001d00000c780010009c000000ae0000213d0000000c0100002900000005011002100000000b011000290000000001010433001400ff001001930000001203000029000000c001300039000000400010043f0000000502000039000000000323043600000000020000310000000202200367001100000003001d000000002402043c0000000003430436000000000013004b00000fcf0000c13d000000400100043d001500000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001300000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d00000015040000290000002002400039000000000101043b00000000001204350000001401000029000000f801100210000000600340003900000000001304350000004001400039000000130300002900000000003104350000004101000039000000000014043500000c1d0040009c000000ae0000213d0000008001400039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000204043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b001000000001001d0000001401000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000f00000001001d000000000001004b0000230c0000613d0000000001000019001500000001001d0000001401000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000001503000029000000040330021000000010033001ef0000000f303000fa0000000100200190000013ba0000613d000000000101043b000000000201041a000000000032004b000024610000a13d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c70000801002000039001300000003001d2f032efe0000040f000000130600002900000015050000290000000100200190000013ba0000613d000000000101043b00000012030000290000000002030433000000000052004b000024610000a13d0000000001610019000000000101041a00000bc5011001970000000502500210000000110220002900000000001204350000000002030433000000000052004b000024610000a13d000000400200043d0000004003200039000000000013043500000bc201600197000000200320003900000000001304350000001401000029000000000012043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c25040000412f032ef90000040f00000015010000290000000100200190000013ba0000613d000000030010008c0000000101100039000010250000a13d00000012030000290000000005030433000000000005004b000011210000613d0000000901000039000000000101041a00000bc506100197000000000700001900000000080000190000000009000019000e00000005001d000d00000006001d0000000001030433000000000071004b000024610000a13d000000050170021000000011011000290000000001010433000000400a00043d00000c790200004100000000002a043500000bc5021001970000000401a00039001500000002001d00000000002104350000000001000414000000040060008c000010920000c13d0000000103000031000000200030008c00000020040000390000000004034019000010c60000013d001400000009001d000f00000008001d001000000007001d00000bc200a0009c00000bc20200004100000000020a4019000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c63011001c7000000000206001900130000000a001d2f032efe0000040f000000130a000029000000600310027000000bc203300197000000200030008c00000020040000390000000004034019000000200640019000000000056a0019000010b00000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b000010ac0000c13d0000001f07400190000010bd0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000001409000029000017390000613d0000000e050000290000000d0600002900000010070000290000000f080000290000001f01400039000000600210018f0000000001a20019000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f000000200030008c000013ba0000413d000000ff0070008c000017f60000613d00000000020a0433000000000092004b00000000040800190000001504002029000000000209a0190000000103700039000000ff0730018f000000000057004b0000000008040019000000000902001900000012030000290000107d0000413d000000000002004b000000000504001900000000050060190000000802000029000000140020008c000011230000413d00000bc502500198000011230000613d001300000002001d001500000004001d0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001400000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400400043d00000024014000390000000902000029000000000021043500000c6601000041000000000014043500000004014000390000001302000029000000000021043500000000010004140000001402000029000000040020008c0000111c0000613d00000bc20040009c00000bc2030000410000000003044019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c1a011001c7001400000004001d2f032ef90000040f0000001404000029000000600310027000010bc20030019d0003000000010355000000010020019000001d0c0000613d00000bc90040009c000000ae0000213d000000400040043f0000001501000029000011490000013d000000400100043d000000000500001900000020020000390000000002210436000000000303043300000000003204350000004002100039000000000003004b001500000005001d000011340000613d000000000400001900000012060000290000002006600039000000000506043300000bc50550019700000000025204360000000104400039000000000034004b0000112d0000413d000000000212004900000bc20020009c00000bc202008041000000600220021000000bc20010009c00000bc2010080410000004001100210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000121019f00000c22011001c70000800d02000039000000010300003900000c7a040000412f032ef90000040f00000001002001900000001501000029000013ba0000613d00000bc50110019800000fb80000613d000000400200043d000000200320003900000009040000290000000000430435000000000012043500000040012000390000000103000039000000000031043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d0200003900000c26040000412f032ef90000040f000000010020019000000fb80000c13d000013ba0000013d0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001500000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400400043d00000c7b01000041000000000014043500000000010004140000001502000029000000040020008c0000118d0000613d00000bc20040009c00000bc2030000410000000003044019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c6f011001c7001500000004001d2f032ef90000040f0000001504000029000000600310027000010bc20030019d000300000001035500000001002001900000238f0000613d00000bc90040009c000000ae0000213d000000400040043f0000000a01000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a001400000001001d000000000001004b000017f60000613d0000000c01000039000000000201041a001500000002001d000000000001041b0000000b01000039000000000001041b0000000601000029000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000001403000029000000010330008a00000bc203300197000000010030008c000000010300a039001300000003001d0000000100200190000013ba0000613d00000015020000290014000500200122000000000101043b000000000201041a000000140020002a000017f60000413d00000014030000290000000002320019000000000021041b000000400100043d00000020021000390000000000320435000000060200002900000000002104350000004002100039000000000002043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c26040000412f032ef90000040f0000000100200190000013ba0000613d000000140200002900000015012000690012001300100102001500000000001d0000000a01000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000150020006c000024610000a13d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000001501100029000000000101041a00000bc501100197001400000001001d000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a0000001203000029000000000032001a000017f60000413d0000000002320019000000000021041b000000400100043d00000020021000390000000000320435000000140200002900000000002104350000004002100039000000000002043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c26040000412f032ef90000040f0000000100200190000013ba0000613d0000001501000029000000010110003900000bc202100197001500000002001d000000130020006c000011de0000413d00000d960000013d000000030100002900000bc20110019700000bc20010009c000017f60000613d0000000102100039000000040020006c00000c4a0000413d0000000602000039000000000102041a00000c8001100197000000000012041b0000000901000039000000000101041a00150bc50010019b000000040000006b001400000000001d000023a20000c13d000023b70000013d000000010320008a0000000503300270000000000431001900000020030000390000000104400039000000130600002900000000056300190000000005050433000000000051041b00000020033000390000000101100039000000000041004b000012460000c13d0000001205000029000000000052004b000012580000813d0000000302500210000000f80220018f00000c9d0220027f00000c9d0220016700000013033000290000000003030433000000000223016f000000000021041b000000010150021000000001011001bf0000000104000039000000000014041b0000003b03000039000000000103041a000000010010019000000001041002700000007f0440618f0000001f0040008c00000000020000390000000102002039000000000121013f0000000100100190000009620000c13d001300000004001d0000001f0040008c000012810000a13d000000000030043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000201043b00000013010000290000001f01100039000000050110027000000000011200190000000102200039000000000012004b0000003b03000039000012810000813d000000000002041b0000000102200039000000000012004b0000127d0000413d0000004101000039000000000013041b000000000030043f000000200200003900000000010000192f032ecd0000040f00000bcb02000041000000000021041b0000000801000039000000000201041a00000bcc022001970000000003000411000000000232019f000000000021041b000000000030043f0000003701000039000000200010043f000000400200003900000000010000192f032ecd0000040f000000000301041a00000c9a0230019700000001022001bf000000000021041b000000140100002900000bc5011001970000000902000039000000000302041a00000bcc03300197000000000113019f000000000012041b000000150100002900000bc5011001970000000702000039000000000302041a00000bcc03300197000000000313019f000000000032041b0000000a02000039000000000302041a00000bcc03300197000000000113019f000000000012041b00000020010000390000010000100443000001200000044300000bcd0100004100002f040001042e000000150000006b0000000002000019000012b80000613d000000140200002900000020022000390000000202200367000000000202043b0000001505000029000000030350021000000c9d0330027f00000c9d03300167000000000332016f0000000102500210000013f50000013d000000150200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c63011001c700000014020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000001505700029000012d90000613d000000000801034f0000001509000029000000008a08043c0000000009a90436000000000059004b000012d50000c13d000000000006004b000012e60000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000013f90000613d0000001f01400039000000600110018f0000001504100029000000000014004b00000000020000390000000102004039001300000004001d00000bc90040009c000000ae0000213d0000000100200190000000ae0000c13d0000001302000029000000400020043f000000200030008c000013ba0000413d000000120200002900000bc5022001970000001504000029000000000404043300000013060000290000002405600039000000000045043500000c460400004100000000004604350000000404600039000000000024043500000000020004140000001404000029000000040040008c000013350000613d000000130100002900000bc20010009c00000bc201008041000000400110021000000bc20020009c00000bc202008041000000c002200210000000000112019f00000c1a011001c700000014020000292f032ef90000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000001305700029000013220000613d000000000801034f0000001309000029000000008a08043c0000000009a90436000000000059004b0000131e0000c13d000000000006004b0000132f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000016040000613d0000001f01400039000000600110018f000000130110002900000bc90010009c000000ae0000213d000000400010043f000000200030008c000013ba0000413d00000013010000290000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000000b60000613d000013ba0000013d00000bc20010009c00000bc201008041000000c00110021000000c33011001c700000012020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000013580000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000013540000c13d000000000006004b000013650000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000014050000613d0000001f01400039000000600110018f00000080021001bf001100000002001d000000400020043f000000200030008c000013ba0000413d000000a40210003900000084031001bf000000800400043d00000c340040009c000014290000213d00000c1004000041000000110500002900000000004504350000002004000039000000000043043500000019030000390000000000320435000000c40110003900000c44020000410000000000210435000000400150021000000c11011001c700002f050001043000160bc200000045000000150100002900000c480010009c000017f60000213d000000150100002900120c49001000d5000000000001004b000014b60000c13d000000000002004b001100000000001d000014c00000613d000016810000013d00000bc20010009c00000bc201008041000000c00110021000000c33011001c700000015020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000000800a000039000013a30000613d000000000801034f000000008908043c000000000a9a043600000000005a004b0000139f0000c13d000000000006004b000013b00000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000014110000613d0000001f01400039000000600210018f00000080012001bf000000400010043f000000200030008c000013c90000813d000000000100001900002f050001043000000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000013c40000c13d00000bee0000013d000000800300043d00000c340030009c0000143a0000213d00000c1003000041000000000031043500000084032001bf00000020040000390000000000430435000000c40320003900000c37040000410000000000430435000000a40220003900000012030000390000000000320435000000400110021000000c11011001c700002f050001043000000c2e020000410000000205000367000000000400001900000013070000290000000006740019000000000665034f000000000606043b000000000062041b00000001022000390000002004400039000000000034004b000013de0000413d000000150030006c000013f20000813d00000015030000290000000303300210000000f80330018f00000c9d0330027f00000c9d0330016700000013044000290000000204400367000000000404043b000000000334016f000000000032041b000000010200003900000015030000290000000103300210000000000223019f000000000021041b000000000100001900002f040001042e0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000014000000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000140c0000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000014180000c13d00000bee0000013d0000000901000039000000000201041a000000000100041400000bc502200197001500000002001d000000040020008c000015070000c13d0000000103000031000000200030008c000000200400003900000000040340190000152d0000013d00000c38040000410000001105000029000000000045043500000013040000290000000000430435000000000300041000000bc503300197000f00000003001d000000000032043500000000020004140000001203000029000000040030008c000015790000c13d0000001102100029001000000002001d000000400020043f000015a90000013d00000c1701000041000000000010044300000015010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400300043d000000240130003900000c3502000041000000000021043500000c36010000410000000000130435001200000003001d00000004013000390000001302000029000000000021043500000000010004140000001502000029000000040020008c000014680000613d000000120200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000015020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000017d50000613d000000120100002900000bc90010009c000000ae0000213d0000001201000029000000400010043f0000000c01000039000000000101041a001500000001001d00000c40010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d00000012040000290000002002400039000000000101043b00000015030000290000000000320435000000400340003900000000001304350000004001000039000000000014043500000c230040009c000000ae0000213d00000012030000290000006001300039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000007ff0210018f000003480320008c00001a7b0000413d000005480420008c00001d090000413d000007280020008c000023120000413d000000280210008a000000ff0220018f0000001b0220011a0000003802200039000023150000013d000000150000006b0000000002000019000015d00000613d0000001504000029000000030240021000000c9d0220027f00000c9d02200167000000140300002900000020033000390000000203300367000000000303043b000000000323016f0000000102400210000015cf0000013d000000120100002900000bc901100197000000150300002900000064033000c900000c4a0330019700000000033100d900000c4b0030009c000017f60000c13d000000000002004b0000167a0000c13d0000000701000039000000000201041a00000c3201000041000000800010043f000000000100041100000bc501100197000f00000001001d000000840010043f000000000100041400000bc502200197001100000002001d000000040020008c000016100000c13d0000000103000031000000200030008c00000020040000390000000004034019000016360000013d00000bc20010009c00000bc201008041000000c00110021000000c33011001c700000010020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000014e70000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000014e30000c13d000000000006004b000014f40000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000016450000613d0000001f01400039000000600110018f00000080021001bf000f00000002001d000000400020043f000000200030008c000013ba0000413d000000a40210003900000084031001bf000000800400043d000000110040006c000016690000813d00000c10040000410000000f05000029000013770000013d00000bc20010009c00000bc201008041000000c00110021000000c33011001c700000015020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000151c0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000015180000c13d000000000006004b000015290000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000016510000613d0000001f01400039000000600210018f00000080012001bf000000400010043f000000200030008c000013ba0000413d000000800300043d000000110030006c000013cc0000413d00000c1701000041000000000010044300000015010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400200043d00000c3601000041000000000012043500000024032000390000001101000029001000000003001d0000000000130435001100000002001d00000004022000390000001301000029000f00000002001d000000000012043500000000010004140000001502000029000000040020008c000015660000613d000000110200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000015020000292f032ef90000040f000000600310027000010bc20030019d0003000000010355000000010020019000001a490000613d000000110100002900000bc90010009c000000ae0000213d0000001101000029000000400010043f000000140000006b00001a560000c13d0000000601000039000000000101041a000000700110027000000bc20110019700000014020000292f0326590000040f0000000603000039000000000203041a00000c5202200197000000700110021000000c5301100197000015dd0000013d00000bc20020009c00000bc202008041000000c00120021000000011020000290000004002200210000000000121019f00000c1a011001c700000012020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000001105700029000015910000613d000000000801034f0000001109000029000000008a08043c0000000009a90436000000000059004b0000158d0000c13d000000000006004b0000159e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000165d0000613d0000001f01400039000000600110018f0000001102100029001000000002001d000000400020043f000000200030008c000013ba0000413d00000010040000290000004402400039000000240340003900000004044001bf0000001105000029000000000505043300000c340050009c000015e10000213d00000c10010000410000001005000029000017bf0000013d00000c2e020000410000000205000367000000000400001900000013070000290000000006740019000000000665034f000000000606043b000000000062041b00000001022000390000002004400039000000000034004b000015b80000413d000000150030006c000015cc0000813d00000015030000290000000303300210000000f80330018f00000c9d0330027f00000c9d0330016700000013044000290000000204400367000000000404043b000000000334016f000000000032041b000000010200003900000015030000290000000103300210000000000223019f000000000021041b0000800b0100003900000004030000390000000004000415000000190440008a000000050440021000000c20020000412f032ee20000040f0000000603000039000000000203041a00000c2b02200197000000b00110021000000c1c01100197000000000112019f000000000013041b000000000100001900002f040001042e00000c390500004100000010060000290000000000560435000000130500002900000000005404350000000f04000029000000000043043500000c3503000041000000000032043500000000020004140000001203000029000000040030008c000017080000c13d0000001001100029000000400010043f00000010020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b000013ba0000c13d000000000002004b000017f20000c13d000000440210003900000c4203000041000000000032043500000024021000390000001403000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000013d60000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000160b0000c13d00000bee0000013d00000bc20010009c00000bc201008041000000c00110021000000c33011001c700000011020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000016250000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000016210000c13d000000000006004b000016320000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000017450000613d0000001f01400039000000600110018f00000080021001bf001000000002001d000000400020043f000000200030008c000013ba0000413d000000a40210003900000084031001bf000000800400043d000000120040006c0000175d0000813d00000c10040000410000001005000029000013770000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000164c0000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000016580000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000016640000c13d00000bee0000013d00000c38040000410000000f05000029000000000045043500000013040000290000000000430435000000000300041000000bc503300197000d00000003001d000000000032043500000000020004140000001003000029000000040030008c000017850000c13d0000000f02100029000e00000002001d000000400020043f000017b50000013d000000150200002900000c64022000d1001100000002001d00000c650220019700000000011200d9000000090010008c000017f60000c13d0000000901000039000000000201041a00000c3201000041000000800010043f000000000100041100000bc501100197001300000001001d000000840010043f000000000100041400000bc502200197001400000002001d000000040020008c000016930000c13d0000000103000031000000200030008c00000020040000390000000004034019000016b90000013d00000bc20010009c00000bc201008041000000c00110021000000c33011001c700000014020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000016a80000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000016a40000c13d000000000006004b000016b50000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000017510000613d0000001f01400039000000600210018f00000080012001bf000000400010043f000000200030008c000013ba0000413d000000110300002900000bc9033001970012000a00300122000000800300043d000000120030006c000013cc0000413d00000c1701000041000000000010044300000014010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400200043d00000024012000390000001203000029000000000031043500000c36010000410000000000120435001200000002001d00000004012000390000001302000029000000000021043500000000010004140000001402000029000000040020008c000016f30000613d000000120200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000014020000292f032ef90000040f000000600310027000010bc20030019d0003000000010355000000010020019000001a7d0000613d000000120100002900000bc90010009c000000ae0000213d0000001201000029000000400010043f0000000601000039000000000101041a000000500310027000000bc20130019700000c670010009c000017f60000213d000000150000006b000000000200001900001d190000c13d2f0326590000040f0000000603000039000000000203041a00000c7c02200197000000500110021000000c7d01100197000015dd0000013d00000bc20020009c00000bc202008041000000c0012002100000001002000029001000000002001d0000004002200210000000000112019f00000c11011001c700000012020000292f032ef90000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000001005700029000017210000613d000000000801034f0000001009000029000000008a08043c0000000009a90436000000000059004b0000171d0000c13d000000000006004b0000172e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000017c90000613d0000001f01400039000000600110018f0000001001100029000000400010043f000000200030008c000015f00000813d000013ba0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017400000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000174c0000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017580000c13d00000bee0000013d00000c3804000041000000100500002900000000004504350000000f040000290000000000430435000000000300041000000bc503300197000d00000003001d000000000032043500000000020004140000001103000029000000040030008c000017fc0000c13d0000001002100029000e00000002001d000000400020043f0000000e040000290000004402400039000000240340003900000004044001bf00000010050000290000000005050433000000120050006c000017bd0000413d00000c39050000410000000e0600002900000000005604350000000f0500002900000000005404350000000d0400002900000000004304350000001203000029000000000032043500000000020004140000001103000029000000040030008c0000195b0000c13d0000000e01100029000000400010043f0000198b0000013d00000bc20020009c00000bc202008041000000c0012002100000000f020000290000004002200210000000000121019f00000c1a011001c700000010020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000f057000290000179d0000613d000000000801034f0000000f09000029000000008a08043c0000000009a90436000000000059004b000017990000c13d000000000006004b000017aa0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000182d0000613d0000001f01400039000000600110018f0000000f02100029000e00000002001d000000400020043f000000200030008c000013ba0000413d0000000e040000290000004402400039000000240340003900000004044001bf0000000f050000290000000005050433000000110050006c000017e20000813d00000c10010000410000000e050000290000000000150435000000200100003900000000001404350000001601000039000000000013043500000c43010000410000000000120435000000400150021000000c11011001c700002f05000104300000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017d00000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017dd0000c13d00000bee0000013d00000c39050000410000000e060000290000000000560435000000130500002900000000005404350000000d0400002900000000004304350000001103000029000000000032043500000000020004140000001003000029000000040030008c000018390000c13d0000000e01100029000000400010043f000018690000013d0000000c01000039000000000201041a00000c3b0220009c000018e50000413d00000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f050001043000000bc20020009c00000bc202008041000000c00120021000000010020000290000004002200210000000000121019f00000c1a011001c700000011020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000001005700029000018140000613d000000000801034f0000001009000029000000008a08043c0000000009a90436000000000059004b000018100000c13d000000000006004b000018210000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000194f0000613d0000001f01400039000000600110018f0000001002100029000e00000002001d000000400020043f000000200030008c000013ba0000413d0000176d0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018340000c13d00000bee0000013d00000bc20020009c00000bc202008041000000c0012002100000000e02000029000e00000002001d0000004002200210000000000112019f00000c11011001c700000010020000292f032ef90000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000e05700029000018520000613d000000000801034f0000000e09000029000000008a08043c0000000009a90436000000000059004b0000184e0000c13d000000000006004b0000185f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000001a3d0000613d0000001f01400039000000600110018f0000000e01100029000000400010043f000000200030008c000013ba0000413d0000000e020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b000013ba0000c13d000000000002004b000015f90000613d0000000c01000039000000000201041a000000110020002a000017f60000413d0000001102200029000000000021041b0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197000e00000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400300043d00000c3c01000041000000000013043500000064013000390000001502000029000000000021043500000024043000390000006001000039001000000004001d0000000000140435000000110100002900000bc901100197000000140110011a0000000404300039000f00000004001d000000000014043500000c9c042001980000001f0520018f001100000003001d00000084023000390000000003420019000000120600002900000020066000390000000206600367000018aa0000613d000000000706034f0000000008020019000000007907043c0000000008980436000000000038004b000018a60000c13d000000000005004b000018b70000613d000000000446034f0000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000015022000290000000000020435000000110200002900000044022000390000001303000029000000000032043500000000020004140000000e03000029000000040030008c000015660000613d00000015030000290000001f0330003900000c9c0130019700000c3e0010009c00000c3e010080410000006001100210000000110300002900000bc20030009c00000bc2030080410000004003300210000000000131019f00000bc20020009c00000bc202008041000000c002200210000000000121019f00000c3f0110009a0000000e020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000015660000c13d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018e00000c13d00000bee0000013d000000000021041b0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001100000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400300043d00000024013000390000006002000039000000000021043500000c3c010000410000000000130435000000040130003900000c3d02000041000000000021043500000064013000390000001502000029000000000021043500000c9c042001980000001f0520018f001200000003001d00000084023000390000000003420019000000140600002900000020066000390000000206600367000019140000613d000000000706034f0000000008020019000000007907043c0000000008980436000000000038004b000019100000c13d000000000005004b000019210000613d000000000446034f0000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000015022000290000000000020435000000120200002900000044022000390000001303000029000000000032043500000000020004140000001103000029000000040030008c000014680000613d00000015030000290000001f0330003900000c9c0130019700000c3e0010009c00000c3e010080410000006001100210000000120300002900000bc20030009c00000bc2030080410000004003300210000000000131019f00000bc20020009c00000bc202008041000000c002200210000000000121019f00000c3f0110009a00000011020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000014680000c13d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000194a0000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000019560000c13d00000bee0000013d00000bc20020009c00000bc202008041000000c0012002100000000e02000029000e00000002001d0000004002200210000000000112019f00000c11011001c700000011020000292f032ef90000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000e05700029000019740000613d000000000801034f0000000e09000029000000008a08043c0000000009a90436000000000059004b000019700000c13d000000000006004b000019810000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000001a6f0000613d0000001f01400039000000600110018f0000000e01100029000000400010043f000000200030008c000013ba0000413d0000000e020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b000013ba0000c13d000000000002004b000015f90000613d0000000c01000039000000000201041a000000120020002a000017f60000413d0000001202200029000000000021041b0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001100000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400300043d00000024013000390000006002000039000000000021043500000c3c010000410000000000130435000000120100002900000bc901100197001000000001001d000000140110011a0000000402300039000000000012043500000064013000390000001402000029000000000021043500000c9c042001980000001f0520018f001200000003001d00000084023000390000000003420019000000130600002900000020066000390000000206600367000019cb0000613d000000000706034f0000000008020019000000007907043c0000000008980436000000000038004b000019c70000c13d000000000005004b000019d80000613d000000000446034f0000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f000000000043043500000014022000290000000000020435000000120200002900000044022000390000000f03000029000000000032043500000000020004140000001103000029000000040030008c000019f90000613d00000014030000290000001f0330003900000c9c0130019700000c3e0010009c00000c3e010080410000006001100210000000120300002900000bc20030009c00000bc2030080410000004003300210000000000131019f00000bc20020009c00000bc202008041000000c002200210000000000121019f00000c3f0110009a00000011020000292f032ef90000040f000000600310027000010bc20030019d000300000001035500000001002001900000235d0000613d000000120100002900000bc90010009c000000ae0000213d0000001201000029000000400010043f0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001400000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400300043d00000c6601000041000000000013043500000004013000390000000f02000029000000000021043500000010010000290000000a0110011a001200000003001d0000002402300039000000000012043500000000010004140000001402000029000000040020008c000016f30000613d000000120200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000014020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000016f30000c13d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a380000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a440000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a510000c13d00000bee0000013d0000000601000039000000000101041a000000700110027000150bc20010019b000000130000006b00001a8a0000c13d000000150100002900000bc20010009c000017f60000613d00000c10010000410000001103000029000000000013043500000020010000390000000f02000029000000000012043500000010020000290000000000120435000000440130003900000c5102000041000000000021043500000bc20030009c00000bc203008041000000400130021000000c11011001c700002f05000104300000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a760000c13d00000bee0000013d000000230220011a000023150000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a850000c13d00000bee0000013d000e00000000001d000000150100002900000bc20110019700000bc20010009c000017f60000613d0000000101100039001500000001001d000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc500100198000023560000c13d0000001301000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000010220003a000017f60000613d000000000021041b0000001501000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a00000bcc022001970000001306000029000000000262019f000000000021041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c04000041000000000500001900000015070000292f032ef90000040f0000000100200190000013ba0000613d0000001501000029000000e001100210000000400200043d001200000002001d0000002002200039001100000002001d000000000012043500000c40010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b0000001203000029000000240230003900000000001204350000002401000039000000000013043500000c230030009c000000ae0000213d00000012020000290000006001200039000000400010043f000000110100002900000bc20010009c00000bc2010080410000004001100210000000000202043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000007ff0210018f000003480320008c00001b100000413d000005480420008c00001b120000413d000007280020008c00001b150000413d000000280210008a000000ff0220018f0000001b0220011a000000380220003900001b180000013d000000230220011a00001b180000013d0000000502300270000000180220003900001b180000013d0000ffff0240018f0000001e0220011a0000002802200039001200000002001d0000001002100270000007ff0320018f000003480430008c00001b260000413d000005480530008c00001b280000413d000007280030008c00001b2b0000413d000000280220008a000000ff0220018f0000001b0220011a000000380220003900001b2e0000013d000000230230011a00001b2e0000013d0000000502400270000000180220003900001b2e0000013d0000ffff0250018f0000001e0220011a0000002802200039001100000002001d0000002002100270000007ff0320018f000003480430008c00001b3c0000413d000005480530008c00001b3e0000413d000007280030008c00001b410000413d000000280220008a000000ff0220018f0000001b0220011a000000380220003900001b440000013d000000230230011a00001b440000013d0000000502400270000000180220003900001b440000013d0000ffff0250018f0000001e0220011a0000002802200039001000000002001d0000003001100270000007ff0210018f000003480320008c00001b520000413d000005480420008c00001b540000413d000007280020008c00001b570000413d000000280110008a000000ff0110018f0000001b0110011a000000380110003900001b5a0000013d000000230120011a00001b5a0000013d0000000501300270000000180110003900001b5a0000013d0000ffff0140018f0000001e0110011a0000002801100039000f00000001001d0000001501000029000000000010043f0000003801000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d0000001102000029000000060220021000003fc00220018f00000012022001af00000010030000290000000c0330021000000c4d03300197000000000232019f0000000f03000029000000120330021000000c4e03300197000000000232019f000000000101043b000000000301041a00000c4f03300197000000000323019f000000000031041b000000000100001900000006031000c9000000000332022f0000000604100210000000c00440018f000000380530018f000000000545019f0000000503300210000000e00430018f00000003035002700000000d03300039000000000503041a000000000645022f00000bc20660019700000bc20060009c000017f60000613d000000010660003900000000064601cf00000bc20440021f00000c9d04400167000000000445016f000000000446019f000000000043041b0000000101100039000000ff0110018f000000040010008c00001b7a0000413d000000400100043d000000400310003900000013040000290000000000430435000000200310003900000000002304350000001502000029000000000021043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c50040000412f032ef90000040f0000000100200190000013ba0000613d0000000e01000029000000010110003900000bc202100197000e00000002001d000000140020006c00001a8b0000413d0000156d0000013d0000001502000029000000600220003900000020011002700000003f0110018f000000c0011001bf0000000000120435000000400100043d000900000001001d00000c1d0010009c000000ae0000213d00000009030000290000008001300039000000400010043f00000060013000390000000102000039000000000021043500000040013000390000000402000039000000000021043500000020013000390000000a020000390000000000210435000000140100003900000000001304350000000001000019000a00000001001d00000005011002100000000902100029000f00000002001d0000000002020433000000ff0220018f00000005032002100000003f0430003900003fe00640018f000000400400043d0000000005460019000000000065004b0000000006000039000000010600403900000bc90050009c000000ae0000213d0000000100600190000000ae0000c13d000000400050043f000000000424043600000000020000310000000202200367000000000003004b00001be90000613d0000000005340019000000000602034f000000006706043c0000000004740436000000000054004b00001be50000c13d0000001f003001900000000f030000290000000003030433000000ff0330018f000e00000003001d00000005033002100000003f0430003900003fe00540018f000000400400043d001300000004001d0000000004450019000000000054004b0000000005000039000000010500403900000bc90040009c000000ae0000213d0000000100500190000000ae0000c13d00000015011000290000000001010433001200000001001d000000400040043f00000013010000290000000e040000290000000001410436001000000001001d000000000003004b00001c0b0000613d00000010040000290000000001340019000000002502043c0000000004540436000000000014004b00001c070000c13d0000001f00300190000000400100043d001400000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001100000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d0000001202000029000000ff0320018f00000014040000290000002002400039000000000101043b0000000000120435001200000003001d000000f801300210000000600340003900000000001304350000004001400039000000110300002900000000003104350000004101000039000000000014043500000c1d0040009c000000ae0000213d00000014030000290000008001300039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000d00000001001d0000001201000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000000e0000006b00001cb20000613d000000000101041a000c00000001001d000000000001004b0000230c0000613d0000000002000019001400000002001d0000000f0020008c000017f60000213d0000001201000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000140200002900000004022002100000000d022001ef0000000c302000fa000000000101043b000000000201041a000000000032004b000024610000a13d001100000003001d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000130200002900000000020204330000001404000029000000000042004b0000001105000029000024610000a13d0000000001510019000000000101041a00000bc50110019700000005024002100000001002200029000000000012043500000013020000290000000002020433000000000042004b000024610000a13d000000400200043d0000004003200039000000000013043500000bc201500197000000200320003900000000001304350000001201000029000000000012043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c25040000412f032ef90000040f0000000100200190000013ba0000613d000000140200002900000001022000390000000e0020006c00001c630000413d0000000f010000290000000001010433000000ff011001900000230c0000613d0014000b00100101000000000200001900000013010000290000000001010433000000000021004b000024610000a13d001100000002001d00000005012002100000001001100029000000000101043300000bc501100197001200000001001d000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000140020002a000017f60000413d00000014030000290000000002320019000000000021041b000000400100043d00000020021000390000000000320435000000120200002900000000002104350000004002100039000000000002043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c26040000412f032ef90000040f0000000100200190000013ba0000613d00000011010000290000000101100039000000ff0210018f0000000f010000290000000001010433000000ff0110018f000000000012004b00001cb80000413d0000000a010000290000000101100039000000ff0110018f000000030010008c00001bcb0000a13d0000000601000039000000000101041a0000002802100270000000ff0220018f000000ff0020008c000017f60000613d00000c2701100197000000280220021000000c280220009a00000c2902200197000000000112019f0000000603000039000000000013041b00000c2a0020009c000024740000c13d2f032dfa0000040f000024870000013d00000005023002700000001802200039000023150000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001d140000c13d00000bee0000013d00000c130130009a00010bc20010019b000400000000001d000000040100002900000bc2011001970000000101100029000300000001001d00000bc20010009c000017f60000213d0000000301000029000000e001100210000000400200043d001500000002001d0000002002200039001400000002001d000000000012043500000c40010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b0000001503000029000000240230003900000000001204350000002401000039000000000013043500000c230030009c000000ae0000213d00000015020000290000006001200039000000400010043f000000140100002900000bc20010009c00000bc2010080410000004001100210000000000202043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000201043b000007ff0120018f000003480310008c00001d5f0000413d000005480410008c00001d610000413d000007280010008c00001d640000413d000000280120008a000000ff0110018f0000001b0110011a000000380110003900001d670000013d000000230110011a00001d670000013d0000000501300270000000180110003900001d670000013d0000ffff0140018f0000001e0110011a00000028011000390000001003200270000007ff0430018f000003480540008c00001d740000413d000005480640008c00001d760000413d000007280040008c00001d790000413d000000280330008a000000ff0330018f0000001b0330011a000000380330003900001d7c0000013d000000230340011a00001d7c0000013d0000000503500270000000180330003900001d7c0000013d0000ffff0360018f0000001e0330011a00000028033000390000002004200270000007ff0540018f000003480650008c00001d890000413d000005480750008c00001d8b0000413d000007280050008c00001d8e0000413d000000280440008a000000ff0440018f0000001b0440011a000000380440003900001d910000013d000000230450011a00001d910000013d0000000504600270000000180440003900001d910000013d0000ffff0470018f0000001e0440011a00000028044000390000003002200270000007ff0520018f000003480650008c00001d9e0000413d000005480750008c00001da00000413d000007280050008c00001da30000413d000000280220008a000000ff0220018f0000001b0220011a000000380520003900001da60000013d000000230550011a00001da60000013d0000000502600270000000180520003900001da60000013d0000ffff0270018f0000001e0220011a0000002805200039000000400200043d000600000002001d00000c1d0020009c000000ae0000213d000000060230021000003fc00220018f000000000212019f000000120350021000000c4e033001970000000c0440021000000c4d04400197000000000334019f00020000002301a300000006050000290000008003500039000000400030043f00000000040000310000000204400367000000004604043c0000000005650436000000000035004b00001db80000c13d00000002060000290000001203600270000000c0033001bf0000000605000029000000600450003900000000003404350000003f0110018f00000000041504360000000c016002700000003f0110018f00000080011001bf0000004003500039001200000003001d000000000013043500000006012002700000003f0110018f00000040011001bf001300000004001d0000000000140435000000000100041100050bc50010019b001500000000001d0000001501000029000000050110021000000006011000290000000001010433000000ff0110018f000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a001400000002001d00000bc90020009c000000ae0000213d00000014020000290000000102200039000000000021041b000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000001401100029000000000201041a00000bcc0220019700000005022001af000000000021041b0000001501000029000000020010008c001500010010003d00001dd20000a13d0000000601000039000000000101041a00000c4500100198000022e60000613d0000002d01000039000000000101041a000000060200002900000000020204330000000502200210000000e00220018f000000000321022f00000bc20330019700000bc20030009c000017f60000613d000000010330003900000000032301cf00000bc20220021f00000c9d02200167000000000121016f000000000113019f0000002d02000039000000000012041b00000013010000290000000001010433000000ff0110018f000000400110008a000000ff0010008c000017f60000213d0000000202100210000000e00220018f0000000301100270000000080110003900000003011002700000002d01100039000000000301041a000000000423022f00000bc20440019700000bc20040009c000017f60000613d000000010440003900000000042401cf00000bc20220021f00000c9d02200167000000000223016f000000000224019f000000000021041b00000012010000290000000001010433000000ff0110018f000000800010008c000017f60000413d000000700110008a0000004f0010008c000024610000213d0000000502100210000000e00220018f00000003011002700000002d01100039000000000301041a000000000423022f00000bc20440019700000bc20040009c000017f60000613d000000010440003900000000042401cf00000bc20220021f00000c9d02200167000000000223016f000000000224019f000000000021041b000700000000001d00001e4d0000013d00000007010000290000000101100039000000ff0110018f000700000001001d000000040010008c000022e60000813d00000007010000290000000501100210000000060110002900000000010104330000000502100210000000e00220018f000000ff0110018f000a00000001001d00000003011002700000000d01100039000000000301041a000000000423022f00000bc204400197000000010440008a00000bc20040009c000017f60000213d00000000042401cf00000bc20220021f00000c9d05200167000000000353016f000000000334019f000000000031041b000000000024017000001e470000c13d0000000601000039000000000101041a00000c1b0010019800001e470000c13d0000000001000411000000000001004b000024b00000613d00000c6801000041000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a00000bc500100198000023560000c13d0000000501000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000010220003a000017f60000613d000000000021041b00000c6801000041000000000010043f0000000201000039000000200010043f00000c6902000041000000000102041a00000bcc0110019700000005011001af000000000012041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c040000410000000005000019000000000600041100000c68070000412f032ef90000040f0000000100200190000013ba0000613d0000000602000039000000000102041a00000c6a0110019700000c6b011001c7000000000012041b00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d0000000603000039000000000203041a00000c6c02200197000000000101043b000000900110021000000c6d01100197000000000112019f000000000013041b0000000901000039000000000201041a000000400300043d00000c6e01000041001500000003001d0000000000130435000000000100041400000bc502200197001400000002001d000000040020008c00001ece0000c13d0000000103000031000000200030008c0000002004000039000000000403401900001ef80000013d000000150200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c6f011001c700000014020000292f032efe0000040f000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000002006400190000000150560002900001ee70000613d000000000701034f0000001508000029000000007907043c0000000008980436000000000058004b00001ee30000c13d0000001f0740019000001ef40000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000024bb0000613d0000001f01400039000000600210018f0000001501200029000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f000000200030008c000013ba0000413d0000001501000029000000000101043300000c700010009c00000c700100a04100080003001000cd00000008011000f9000000030010008c000017f60000c13d00000c1701000041000000000010044300000014010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400200043d00000c7101000041001500000002001d0000000001120436001300000001001d00000000010004140000001402000029000000040020008c00001f360000613d000000150200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c6f011001c700000014020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000024c70000613d000000150100002900000bc90010009c000000ae0000213d0000001501000029000000400010043f00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001400000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000130200002900000000001204350000001503000029000000600130003900000c720200004100000000002104350000004001300039000000140200002900000000002104350000004101000039000000000013043500000c1d0030009c000000ae0000213d00000015020000290000008001200039000000400010043f000000130100002900000bc20010009c00000bc2010080410000004001100210000000000202043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000201043b000000400100043d001500000001001d00000c730010009c000000ae0000213d000000080100002900090014001001220000001504000029000001a003400039000000400030043f0000000c01000039000000000514043600000000010000310000000201100367000000000401034f001400000005001d000000004604043c0000000005650436000000000035004b00001f870000c13d000000400300043d000b00000003001d00000c1d0030009c000000ae0000213d0000000b050000290000008003500039000000400030043f000000000401034f000000004604043c0000000005650436000000000035004b00001f930000c13d000000000300001900000015040000290000000004040433000000000034004b000024610000a13d0000000504300210000000140440002900000006053000c9000000000552022f0000003f0550018f00000000005404350000000a0030008c000000010330003900001f980000a13d000000400300043d00000c730030009c000000ae0000213d000001a002300039000000400020043f0000000c040000390000000003430436000000001401043c0000000003430436000000000023004b00001fac0000c13d0000000901000039000000000101041a000000400400043d00000c740200004100000000002404350000000402400039000000200300003900000000003204350000001502000029000000000202043300000024034000390000000000230435001300000004001d0000004403400039000000000002004b00001fc90000613d0000000004000019000000150500002900000020055000390000000006050433000000ff0660018f00000000036304360000000104400039000000000024004b00001fc20000413d00000bc5021001970000000001000414000000040020008c00001fd00000c13d0000000301000367000000010300003100001fe40000013d0000001304000029000000000343004900000bc20030009c00000bc203008041000000600330021000000bc20040009c00000bc2040080410000004004400210000000000343019f00000bc20010009c00000bc201008041000000c001100210000000000113019f2f032efe0000040f000000600310027000010bc20030019d00000bc20330019700030000000103550000000100200190000024d40000613d00000c9c04300198000000130240002900001fed0000613d000000000501034f0000001306000029000000005705043c0000000006760436000000000026004b00001fe90000c13d0000001f0530019000001ffa0000613d000000000141034f0000000304500210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001204350000001f0130003900000c9c021001970000001301200029000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f00000c750030009c000013ba0000213d000000200030008c000013ba0000413d0000001302000029000000000202043300000bc90020009c000013ba0000213d000000130430002900000013022000290000001f03200039000000000043004b000000000500001900000c760500804100000c760330019700000c7606400197000000000763013f000000000063004b000000000300001900000c760300404100000c760070009c000000000305c019000000000003004b000013ba0000c13d000000003202043400000bc90020009c000000ae0000213d00000005052002100000003f0650003900000c7706600197000000000616001900000bc90060009c000000ae0000213d000000400060043f00000000022104360000000005350019000000000045004b000013ba0000213d000000000053004b000020330000813d0000000004010019000000200440003900000000360304340000000000640435000000000053004b0000202e0000413d0000000003000019000020390000013d0000000103300039000000ff0330018f000000030030008c0000205d0000213d00000005043002100000000b0440002900000003053000c90000000606300210000000c00660018f00000000070000190000000008000019000020450000013d0000000107700039000000ff0770018f000000030070008c000020350000813d000000000a570019000000ff00a0008c000017f60000213d00000000090104330000000000a9004b000024610000a13d000000050ba002100000000009b200190000000009090433000000000089004b000020410000413d000000150800002900000000080804330000000000a8004b000024610000a13d0000001408b000290000000008080433000000ff0880018f0000000008680019000000ff0080008c000017f60000213d00000000008404350000000008090019000020410000013d000000400200043d00000c780020009c000000ae0000213d000000c001200039000000400010043f0000000503000039000000000232043600000000030000310000000203300367000000003403043c0000000002420436000000000012004b000020660000c13d000c00000000001d000020720000013d0000000c010000290000000101100039000000ff0110018f000c00000001001d000000040010008c000022180000813d000000400100043d001200000001001d00000c780010009c000000ae0000213d0000000c0100002900000005011002100000000b011000290000000001010433001400ff001001930000001203000029000000c001300039000000400010043f0000000502000039000000000323043600000000020000310000000202200367001100000003001d000000002402043c0000000003430436000000000013004b000020830000c13d000000400100043d001500000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d000000000101043b001300000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d00000015040000290000002002400039000000000101043b00000000001204350000001401000029000000f801100210000000600340003900000000001304350000004001400039000000130300002900000000003104350000004101000039000000000014043500000c1d0040009c000000ae0000213d00000015030000290000008001300039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b001000000001001d0000001401000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a000f00000001001d000000000001004b0000230c0000613d001500000000001d0000001401000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d0000001502000029000000040220021000000010022001ef0000000f302000fa000000000101043b000000000201041a000000000032004b000024610000a13d001300000003001d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b00000012030000290000000002030433000000150020006c0000001306000029000024610000a13d0000000001610019000000000101041a00000bc50110019700000015050000290000000502500210000000110220002900000000001204350000000002030433000000000052004b000024610000a13d000000400200043d0000004003200039000000000013043500000bc201600197000000200320003900000000001304350000001401000029000000000012043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c25040000412f032ef90000040f0000000100200190000013ba0000613d0000001501000029000000030010008c001500010010003d000020da0000a13d00000012010000290000000001010433000f00000001001d000000000001004b000021d70000613d0000000901000039000000000101041a00000bc503100197000000000500001900000000060000190000000007000019000e00000003001d00000012010000290000000001010433000000000051004b000024610000a13d000000050150021000000011011000290000000001010433000000400a00043d00000c790200004100000000002a043500000bc5021001970000000401a00039001400000002001d00000000002104350000000001000414000000040030008c001500000005001d001300000006001d001000000007001d0000214a0000c13d0000000103000031000000200030008c00000020040000390000000004034019000021760000013d00000bc200a0009c00000bc20200004100000000020a4019000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c63011001c70000000002030019000d0000000a001d2f032efe0000040f0000000d0a000029000000600310027000000bc203300197000000200030008c00000020040000390000000004034019000000200640019000000000056a0019000021650000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b000021610000c13d0000001f07400190000021720000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000023ee0000613d0000001f01400039000000600210018f0000000001a20019000000000021004b0000000002000039000000010200403900000bc90010009c000000ae0000213d0000000100200190000000ae0000c13d000000400010043f000000200030008c000013ba0000413d0000001502000029000000ff0020008c000017f60000613d00000000020a0433000000100020006c000000130300002900000000040300190000001404002029000000100200a02900000015030000290000000103300039000000ff0530018f0000000f0050006c000000000604001900000000070200190000000e03000029000021310000413d000000000002004b001400000004001d00000000020400190000000002006019001500000002001d0000000802000029000000140020008c000021d90000413d000000150200002900130bc50020019c000021d90000613d0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001200000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400300043d00000024013000390000000902000029000000000021043500000c66010000410000000000130435001500000003001d00000004013000390000001302000029000000000021043500000000010004140000001202000029000000040020008c000021d00000613d000000150200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000012020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000024a30000613d000000150100002900000bc90010009c000000ae0000213d0000001501000029000000400010043f001500140000002d000021fe0000013d000000400100043d001500000000001d000000200200003900000000022104360000001203000029000000000303043300000000003204350000004002100039000000000003004b000021ea0000613d000000000400001900000012060000290000002006600039000000000506043300000bc50550019700000000025204360000000104400039000000000034004b000021e30000413d000000000212004900000bc20020009c00000bc202008041000000600220021000000bc20010009c00000bc2010080410000004001100210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000121019f00000c22011001c70000800d02000039000000010300003900000c7a040000412f032ef90000040f0000000100200190000013ba0000613d000000150100002900000bc5011001980000206c0000613d000000400200043d000000200320003900000009040000290000000000430435000000000012043500000040012000390000000103000039000000000031043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d0200003900000c26040000412f032ef90000040f00000001002001900000206c0000c13d000013ba0000013d0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197001400000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000400200043d00000c7b01000041001500000002001d000000000012043500000000010004140000001402000029000000040020008c000022430000613d000000150200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c6f011001c700000014020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000024e00000613d000000150100002900000bc90010009c000000ae0000213d0000001501000029000000400010043f0000000a01000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000101041a001400000001001d000000000001004b000017f60000613d0000000c01000039000000000201041a001500000002001d000000000001041b0000000b01000039000000000001041b0000000501000029000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000001403000029000000010330008a00000bc203300197000000010030008c000000010300a039001200000003001d0000000100200190000013ba0000613d00000015020000290014000500200122000000000101043b000000000201041a000000140020002a000017f60000413d00000014030000290000000002320019000000000021041b000000400100043d00000020021000390000000000320435000000050200002900000000002104350000004002100039000000000002043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c26040000412f032ef90000040f0000000100200190000013ba0000613d000000140200002900000015012000690014001200100102001500000000001d0000000a01000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000150020006c000024610000a13d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000001501100029000000000101041a00000bc501100197001300000001001d000000000010043f0000003a01000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000140020002a000017f60000413d00000014030000290000000002320019000000000021041b000000400100043d00000020021000390000000000320435000000130200002900000000002104350000004002100039000000000002043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c26040000412f032ef90000040f0000000100200190000013ba0000613d0000001501000029000000010110003900000bc202100197001500000002001d000000120020006c000022960000413d00001e470000013d000000400100043d000000400210003900000005030000290000000000320435000000020200002900000c540220019700000020031000390000000000230435000000030200002900000bc202200197000000000021043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c41040000412f032ef90000040f0000000100200190000013ba0000613d0000000401000029000000170110002900040016001001830000001802000029000000160120017f000000040010006b00001d1c0000413d0000000601000039000000000101041a000000500110027000000bc201100197000017010000013d00000c8b01000041000000000010043f0000001201000039000000040010043f00000c630100004100002f05000104300000ffff0240018f0000001e0220011a00000028022000390000000101100210000000c00110018f0000000001120019001500000001001d000000ff0010008c000017f60000213d0000001501000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a001400000002001d00000bc90020009c000000ae0000213d00000014020000290000000102200039000000000021041b000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b0000001401100029000000000201041a00000bcc022001970000001303000029000000000232019f000000000021041b000000400100043d0000004002100039000000000032043500000020021000390000001503000029000000000032043500000c1202000041000000000021043500000bc20010009c00000bc2010080410000004001100210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c410400004100000a8f0000013d000000400100043d000000440210003900000c8603000041000000000032043500000024021000390000001c030000390000094e0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023650000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023710000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000237e0000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000238a0000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023970000c13d00000bee0000013d00000c80011001970000000602000039000000000012041b0000000901000039000000000101041a00150bc50010019b000000040200002900000064012000c900000000022100d9000000640020008c000017f60000c13d000000000001004b000023b20000c13d001400000000001d000023b70000013d000000400100043d000000440210003900000c82030000410000000000320435000000240210003900000019030000390000094e0000013d000000040200002900140c49002000d500000014011000f900000c4b0010009c000017f60000c13d00000c1701000041000000000010044300000015010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d00000014010000290000000a0110011a000000400300043d0000002402300039000000000012043500000c66010000410000000000130435000000000100041100000bc501100197001400000003001d0000000402300039000000000012043500000000010004140000001502000029000000040020008c000023e70000613d000000140200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000015020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000024670000613d000000140100002900000bc90010009c000000ae0000213d0000001401000029000000400010043f000000000100001900002f040001042e0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023f50000c13d00000bee0000013d001400000000001d001500000000001d0000000901000039000000000101041a001300000001001d0000000a010000290000000001010433000000ff0110018f000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000000101043b000000000201041a000000150020006c000024610000a13d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c700008010020000392f032efe0000040f0000000100200190000013ba0000613d000000130200002900000bc503200197000000000101043b0000001501100029000000000101041a001500000001001d00000c17010000410000000000100443001300000003001d0000000400300443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000024950000613d000000000101043b000000000001004b000013ba0000613d000000150100002900000bc501100197000000400400043d000000240240003900000c4903000041000000000032043500000c66020000410000000000240435001500000004001d0000000402400039000000000012043500000000010004140000001302000029000000040020008c000024510000613d000000150200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c1a011001c700000013020000292f032ef90000040f000000600310027000010bc20030019d00030000000103550000000100200190000024960000613d000000150100002900000bc90010009c000000ae0000213d0000001501000029000000400010043f000000140100002900000bc20010009c000017f60000613d00000014010000290000000101100039001500000001001d00000bc202100197001400000002001d000000120020006c000023fc0000413d0000084a0000013d00000c8b01000041000000000010043f0000003201000039000000040010043f00000c630100004100002f050001043000000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000246f0000c13d00000bee0000013d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f0000000100200190000024950000613d0000000603000039000000000203041a00000c2b02200197000000000101043b000000b00110021000000c1c01100197000000000112019f000000000013041b00000000020000190000000503200210000000e00330018f00000bc20330021f00000c9d0330016700000003042002700000002d04400039000000000504041a000000000335016f000000000034041b0000004f0020008c0000000102200039000024880000413d000000b60000013d000000000001042f00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000249e0000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024ab0000c13d00000bee0000013d000000400100043d000000440210003900000c5103000041000000000032043500000c100200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000009530000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024c20000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024cf0000c13d00000bee0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024db0000c13d00000bee0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900000bee0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024e80000c13d00000bee0000013d0000001f0220003900000c9c022001970000000001120019000000000021004b0000000002000039000000010200403900000bc90010009c000024f90000213d0000000100200190000024f90000c13d000000400010043f000000000001042d00000c8b01000041000000000010043f0000004101000039000000040010043f00000c630100004100002f050001043000000020030000390000000004310436000000003202043400000000002404350000004001100039000000000002004b0000250e0000613d000000000400001900000000051400190000000006430019000000000606043300000000006504350000002004400039000000000024004b000025070000413d000000000312001900000000000304350000001f0220003900000c9c022001970000000001120019000000000001042d000000500010008c0000251c0000813d00000003021002700000002d0320003900000002011002100000001c0210018f0000000001030019000000000001042d00000c8b01000041000000000010043f0000003201000039000000040010043f00000c630100004100002f050001043000000c750010009c000025320000213d000000630010008c000025320000a13d00000002030003670000000401300370000000000101043b00000bc50010009c000025320000213d0000002402300370000000000202043b00000bc50020009c000025320000213d0000004403300370000000000303043b000000000001042d000000000100001900002f0500010430000001000010008c0000253c0000813d00000003021002700000000d0320003900000002011002100000001c0210018f0000000001030019000000000001042d00000c8b01000041000000000010043f0000003201000039000000040010043f00000c630100004100002f050001043000000bc502200197000000000020043f000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000025500000613d000000000101043b000000000001042d000000000100001900002f050001043000090000000000020000000076010434000000000006004b000025ca0000613d00000000050100190000000901000039000000000101041a00000bc50210019700000c79080000410000000009000019000000000a000019000000000b000019000400000005001d000300000006001d000200000007001d000100000002001d0000000001050433000000000091004b000025cc0000a13d000000050190021000000000011700190000000001010433000000400d00043d00000000008d043500000bc50c1001970000000401d000390000000000c104350000000001000414000000040020008c000025750000c13d0000000103000031000000200030008c00000020040000390000000004034019000025ad0000013d00060000000c001d00070000000b001d00080000000a001d000900000009001d00000bc200d0009c00000bc20300004100000000030d4019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c63011001c700050000000d001d2f032efe0000040f000000050d000029000000600310027000000bc203300197000000200030008c00000020040000390000000004034019000000200640019000000000056d0019000025930000613d000000000701034f00000000080d0019000000007907043c0000000008980436000000000058004b0000258f0000c13d0000001f07400190000025a00000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000000909000029000000080a000029000000070b000029000000060c000029000025e00000613d000000040500002900000003060000290000000207000029000000010200002900000c79080000410000001f01400039000000600410018f0000000001d40019000000000041004b0000000004000039000000010400403900000bc90010009c000025d20000213d0000000100400190000025d20000c13d000000400010043f0000001f0030008c000025d80000a13d000000ff0090008c000025da0000613d00000000010d04330000000000b1004b000000000c0aa01900000000010ba0190000000103900039000000ff0930018f000000000069004b000000000a0c0019000000000b010019000025620000413d000000000001004b000000000c00601900000000010c0019000000000001042d0000000001000019000000000001042d00000c8b01000041000000000010043f0000003201000039000000040010043f00000c630100004100002f050001043000000c8b01000041000000000010043f0000004101000039000000040010043f00000c630100004100002f0500010430000000000100001900002f050001043000000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f05000104300000001f0530018f00000bc406300198000000400200043d0000000004620019000025eb0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000025e70000c13d000000000005004b000025f80000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000600130021000000bc20020009c00000bc2020080410000004002200210000000000112019f00002f0500010430000000000001004b000026010000613d000000000001042d000000400100043d000000440210003900000c9403000041000000000032043500000024021000390000001f03000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c11011001c700002f05000104300001000000000002000100000001001d000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000026350000613d000000000101043b000000000101041a00000bc500100198000026370000613d0000000101000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000026350000613d000000000101043b000000000101041a00000bc501100197000000000001042d000000000100001900002f0500010430000000400100043d000000640210003900000c9f030000410000000000320435000000440210003900000ca003000041000000000032043500000024021000390000002c03000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000000201001900000055011000c9000000000002004b000026520000613d00000000022100d9000000550020008c000026530000c13d000000000001042d00000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f050001043000000bc20110019700000bc202200197000000000112001900000c810010009c0000265f0000813d000000000001042d00000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f0500010430000000000001004b000026680000613d000000000001042d000000400100043d000000640210003900000ca1030000410000000000320435000000440210003900000ca203000041000000000032043500000024021000390000003103000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000268d0000613d000000000101043b000000000101041a00000bc5011001980000268f0000613d000000000001042d000000000100001900002f0500010430000000400100043d000000640210003900000c91030000410000000000320435000000440210003900000c9203000041000000000032043500000024021000390000002903000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000000001004b000026a60000613d000000000001042d000000400100043d000000440210003900000c4203000041000000000032043500000024021000390000001403000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c11011001c700002f05000104300009000000000002000100000004001d000400000002001d000500000001001d000700000003001d000000000030043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a00000bc500100198000028500000613d0000000701000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a00000bc501100198000028400000613d000000000200041100030bc50020019b000000030010006b000027210000613d000000000010043f0000000501000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b0000000302000029000000000020043f000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a000000ff00100190000027210000c13d0000000701000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a00000bc5001001980000287d0000613d0000000701000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a00000bc501100197000000030010006c000028840000c13d0000000701000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a00060bc50010019c000028400000613d000000050100002900000bc501100197000000060010006b0000285a0000c13d000000040100002900050bc50010019c000028640000613d0000000701000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000201041a00000bcc02200197000000000021041b0000000701000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000101041a00000bc505100198000028400000613d000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c8304000041000000000600001900000007070000292f032ef90000040f00000001002001900000283e0000613d0000000601000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000201041a000000000002004b0000284a0000613d000000010220008a000000000021041b0000000501000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000201041a000000010220003a0000284a0000613d000000000021041b0000000701000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f00000001002001900000283e0000613d000000000101043b000000000201041a00000bcc022001970000000506000029000000000262019f000000000021041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c04000041000000060500002900000007070000292f032ef90000040f00000001002001900000283e0000613d0000000001000415000200000001001d00000c1701000041000000000010044300000004010000290000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f0000000100200190000028780000613d000000000101043b000000000001004b000027eb0000613d000000400b00043d0000006401b00039000000800700003900000000007104350000004401b00039000000070200002900000000002104350000002401b000390000000602000029000000000021043500000ca50100004100000000001b04350000000401b00039000000030200002900000000002104350000008403b00039000000010100002900000000210104340000000000130435000000a403b00039000000000001004b000027dd0000613d000000000400001900000000053400190000000006420019000000000606043300000000006504350000002004400039000000000014004b000027d60000413d0000000002310019000000000002043500000000040004140000000502000029000000040020008c000027ef0000c13d0000000005000415000000090550008a00000005055002100000000103000031000000200030008c00000020040000390000000004034019000028250000013d000000000100041500000002011000690000000001000002000000000001042d000600000007001d0000001f0110003900000c9c01100197000000a40110003900000bc20010009c00000bc201008041000000600110021000000bc200b0009c00000bc20300004100000000030b40190000004003300210000000000131019f00000bc20040009c00000bc204008041000000c003400210000000000113019f00070000000b001d2f032ef90000040f000000070b000029000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000028110000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000280d0000c13d000000000006004b0000281e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000005000415000000080550008a00000005055002100000000100200190000028790000613d0000001f01400039000000600210018f0000000001b20019000000000021004b0000000002000039000000010200403900000bc90010009c000028c80000213d0000000100200190000028c80000c13d000000400010043f000000200030008c0000283e0000413d00000000010b043300000c95001001980000283e0000c13d0000000502500270000000000201001f00000000020004150000000202200069000000000200000200000c960110019700000ca50010009c000028b80000c13d000000000001042d000000000100001900002f0500010430000000400100043d000000640210003900000c91030000410000000000320435000000440210003900000c92030000410000000000320435000000240210003900000029030000390000286d0000013d00000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f0500010430000000400100043d000000640210003900000c9f030000410000000000320435000000440210003900000ca903000041000000000032043500000024021000390000002c030000390000286d0000013d000000400100043d000000640210003900000ca3030000410000000000320435000000440210003900000ca4030000410000000000320435000000240210003900000025030000390000286d0000013d000000400100043d000000640210003900000ca7030000410000000000320435000000440210003900000ca803000041000000000032043500000024021000390000002403000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000000001042f000000000003004b0000288e0000c13d0000006002000039000028b50000013d000000400100043d000000640210003900000c9f030000410000000000320435000000440210003900000ca003000041000028560000013d000000400100043d000000640210003900000ca1030000410000000000320435000000440210003900000ca2030000410000000000320435000000240210003900000031030000390000286d0000013d0000001f0230003900000bc3022001970000003f0220003900000ca604200197000000400200043d0000000004420019000000000024004b0000000005000039000000010500403900000bc90040009c000028c80000213d0000000100500190000028c80000c13d000000400040043f0000001f0430018f000000000632043600000bc405300198000600000006001d0000000003560019000028a80000613d000000000601034f0000000607000029000000006806043c0000000007870436000000000037004b000028a40000c13d000000000004004b000028b50000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001304350000000001020433000000000001004b000028ce0000c13d000000400200043d000700000002001d00000c1001000041000000000012043500000004012000392f032a2c0000040f0000000702000029000000000121004900000bc20010009c00000bc201008041000000600110021000000bc20020009c00000bc2020080410000004002200210000000000121019f00002f050001043000000c8b01000041000000000010043f0000004101000039000000040010043f00000c630100004100002f0500010430000000060200002900000bc20020009c00000bc202008041000000400220021000000bc20010009c00000bc2010080410000006001100210000000000121019f00002f05000104300002000000000002000100000001001d000200000002001d000000000020043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029450000613d000000000101043b000000000101041a00000bc500100198000029470000613d0000000201000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029450000613d000000000101043b000000000101041a00000bc501100198000029510000613d000000010200002900000bc502200197000000000012004b000029010000c13d0000000101000039000000000001042d000100000002001d000000000010043f0000000501000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029450000613d000000000101043b0000000102000029000000000020043f000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029450000613d000000000101043b000000000101041a000000ff01100190000029200000613d000000000001042d0000000201000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029450000613d000000000101043b000000000101041a00000bc500100198000029650000613d0000000201000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029450000613d000000000101043b000000000101041a00000bc501100197000000010010006c00000000010000390000000101006039000000000001042d000000000100001900002f0500010430000000400100043d000000640210003900000c9f030000410000000000320435000000440210003900000ca903000041000000000032043500000024021000390000002c030000390000295a0000013d000000400100043d000000640210003900000c91030000410000000000320435000000440210003900000c9203000041000000000032043500000024021000390000002903000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000400100043d000000640210003900000c9f030000410000000000320435000000440210003900000ca0030000410000294d0000013d0004000000000002000100000002001d000200000001001d000400000003001d000000000030043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029fc0000613d000000000101043b000000000101041a00030bc50010019c000029fe0000613d000000020100002900000bc501100197000000030010006b00002a0e0000c13d000000010100002900020bc50010019c00002a180000613d0000000401000029000000000010043f0000000401000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029fc0000613d000000000101043b000000000201041a00000bcc02200197000000000021041b0000000401000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029fc0000613d000000000101043b000000000101041a00000bc505100198000029fe0000613d000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c8304000041000000000600001900000004070000292f032ef90000040f0000000100200190000029fc0000613d0000000301000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029fc0000613d000000000101043b000000000201041a000000000002004b00002a080000613d000000010220008a000000000021041b0000000201000029000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029fc0000613d000000000101043b000000000201041a000000010220003a00002a080000613d000000000021041b0000000401000029000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000100200190000029fc0000613d000000000101043b000000000201041a00000bcc022001970000000206000029000000000262019f000000000021041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c04000041000000030500002900000004070000292f032ef90000040f0000000100200190000029fc0000613d000000000001042d000000000100001900002f0500010430000000400100043d000000640210003900000c91030000410000000000320435000000440210003900000c920300004100000000003204350000002402100039000000290300003900002a210000013d00000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f0500010430000000400100043d000000640210003900000ca3030000410000000000320435000000440210003900000ca40300004100000000003204350000002402100039000000250300003900002a210000013d000000400100043d000000640210003900000ca7030000410000000000320435000000440210003900000ca803000041000000000032043500000024021000390000002403000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c8e011001c700002f0500010430000000600210003900000caa030000410000000000320435000000400210003900000cab030000410000000000320435000000200210003900000032030000390000000000320435000000200200003900000000002104350000008001100039000000000001042d000d0000000000020000000901000039000000000201041a000000400b00043d00000c6e0100004100000000001b0435000000000100041400000bc502200197000000040020008c000c00000002001d00002a490000c13d0000000103000031000000200030008c0000002004000039000000000403401900002a760000013d00000bc200b0009c00000bc20300004100000000030b4019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c6f011001c7000d0000000b001d2f032efe0000040f0000000d0b000029000000600310027000000bc203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900002a640000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00002a600000c13d000000000006004b00002a710000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000002dd50000613d0000000c020000290000001f01400039000000600410018f0000000001b40019000000000041004b0000000004000039000000010400403900000bc90010009c00002d9d0000213d000000010040019000002d9d0000c13d000000400010043f0000001f0030008c00002d940000a13d00000000010b043300000c700010009c00000c700100a04100010003001000cd00000001011000f9000000030010008c00002bd50000c13d00000c170100004100000000001004430000000400200443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f000000010020019000002dc10000613d000000000101043b000000000001004b0000000c0200002900002d940000613d000000400400043d00000c71010000410000000001140436000d00000001001d0000000001000414000000040020008c000b00000004001d00002ab20000613d00000bc20040009c00000bc2030000410000000003044019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c6f011001c72f032ef90000040f0000000b04000029000000600310027000010bc20030019d0003000000010355000000010020019000002de10000613d00000bc90040009c00002d9d0000213d000000400040043f00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f000000010020019000002dc10000613d000000000101043b000c00000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f000000010020019000002dc10000613d000000000101043b0000000d0200002900000000001204350000000b03000029000000600130003900000c7202000041000000000021043500000040013000390000000c0200002900000000002104350000004101000039000000000013043500000c1d0030009c00002d9d0000213d0000008001300039000000400010043f0000000d0100002900000bc20010009c00000bc2010080410000004001100210000000000203043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f000000010020019000002d940000613d000000000201043b000000400b00043d00000c7300b0009c00002d9d0000213d00000001010000290002001400100122000001a004b00039000000400040043f0000000c03000039000000000c3b043600000000010000310000000201100367000000000501034f00000000060c0019000000005705043c0000000006760436000000000046004b00002afe0000c13d000000400400043d000300000004001d00000c1d0040009c00002d9d0000213d00000003060000290000008004600039000000400040043f000000000501034f000000005705043c0000000006760436000000000046004b00002b0a0000c13d000000000400001900000000050b0433000000000045004b00002d970000a13d00000005054002100000000005c5001900000006064000c9000000000662022f0000003f0660018f00000000006504350000000a0040008c000000010440003900002b0f0000a13d000000400400043d00000c730040009c00002d9d0000213d000001a002400039000000400020043f0000000003340436000000001401043c0000000003430436000000000023004b00002b210000c13d0000000901000039000000000201041a000000400a00043d00000c740100004100000000001a04350000000401a000390000002003000039000000000031043500000000030b04330000002401a0003900000000003104350000004401a0003900000bc502200197000000000003004b00002b3d0000613d000000000400001900000000050b001900000020055000390000000006050433000000ff0660018f00000000016104360000000104400039000000000034004b00002b360000413d0000000003000414000000040020008c00002b430000c13d0000000301000367000000010300003100002b5d0000013d000c0000000c001d000d0000000b001d0000000001a1004900000bc20010009c00000bc201008041000000600110021000000bc200a0009c000b0000000a001d00000bc20400004100000000040a40190000004004400210000000000141019f00000bc20030009c00000bc203008041000000c003300210000000000131019f2f032efe0000040f000000600310027000010bc20030019d00000bc2033001970003000000010355000000010020019000002dee0000613d0000000d0b0000290000000c0c0000290000000b0a00002900000c9c053001980000001f0630018f00000000045a001900002b670000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000048004b00002b630000c13d000000000006004b00002b740000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000001f0130003900000c9c021001970000000001a20019000000000021004b0000000002000039000000010200403900000bc90010009c00002d9d0000213d000000010020019000002d9d0000c13d000000400010043f00000c750030009c00002d940000213d000000200030008c00002d940000413d00000000020a043300000bc90020009c00002d940000213d0000000003a300190000000002a200190000001f04200039000000000034004b000000000500001900000c760500804100000c760440019700000c7606300197000000000764013f000000000064004b000000000400001900000c760400404100000c760070009c000000000405c019000000000004004b00002d940000c13d000000002402043400000bc90040009c00002d9d0000213d00000005054002100000003f0650003900000c7706600197000000000616001900000bc90060009c00002d9d0000213d000000400060043f00000000004104350000000004250019000000000034004b00002d940000213d000000000042004b00002bac0000813d0000000003010019000000200330003900000000250204340000000000530435000000000042004b00002ba70000413d000000000200001900002bb20000013d0000000102200039000000ff0220018f000000030020008c00002bdb0000213d0000000503200210000000030330002900000003042000c90000000605200210000000c00550018f0000000006000019000000000700001900002bc00000013d000000000073043500000000070900190000000106600039000000ff0660018f000000030060008c00002bae0000813d0000000008460019000000ff0080008c00002bd50000213d0000000009010433000000000089004b00002d970000a13d000000050a80021000000000091a001900000020099000390000000009090433000000000079004b00002bbc0000413d00000000070b0433000000000087004b00002d970000a13d0000000007ca00190000000007070433000000ff0770018f0000000007570019000000ff0070008c00002bba0000a13d00000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f0500010430000000400200043d00000c780020009c00002d9d0000213d000000c001200039000000400010043f0000000503000039000000000232043600000000030000310000000203300367000000003403043c0000000002420436000000000012004b00002be40000c13d000400000000001d00002bf00000013d00000004010000290000000101100039000000ff0110018f000400000001001d000000030010008c00002d960000213d000000400100043d000a00000001001d00000c780010009c00002d9d0000213d0000000401000029000000050110021000000003011000290000000001010433000c00ff001001930000000a03000029000000c001300039000000400010043f0000000502000039000000000323043600000000020000310000000202200367000900000003001d000000002402043c0000000003430436000000000013004b00002c010000c13d000000400100043d000d00000001001d00000c1e010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f000000010020019000002dc10000613d000000000101043b000b00000001001d00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f000000010020019000002dc10000613d0000000d040000290000002002400039000000000101043b00000000001204350000000c01000029000000f8011002100000006003400039000000000013043500000040014000390000000b0300002900000000003104350000004101000039000000000014043500000c1d0040009c00002d9d0000213d0000008001400039000000400010043f00000bc20020009c00000bc2020080410000004001200210000000000204043300000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f000000010020019000002d940000613d000000000101043b000800000001001d0000000c01000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f000000010020019000002d940000613d000000000101043b000000000101041a000700000001001d000000000001004b00002dc20000613d0000000001000019000d00000001001d0000000c01000029000000000010043f0000003901000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f0000000d03000029000000040330021000000008033001ef00000007303000fa000000010020019000002d940000613d000000000101043b000000000201041a000000000032004b00002d970000a13d000000000010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000bca011001c70000801002000039000b00000003001d2f032efe0000040f0000000b060000290000000d05000029000000010020019000002d940000613d000000000101043b0000000a030000290000000002030433000000000052004b00002d970000a13d0000000001610019000000000101041a00000bc5011001970000000502500210000000090220002900000000001204350000000002030433000000000052004b00002d970000a13d000000400200043d0000004003200039000000000013043500000bc201600197000000200320003900000000001304350000000c01000029000000000012043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d02000039000000010300003900000c25040000412f032ef90000040f0000000d01000029000000010020019000002d940000613d000000030010008c000000010110003900002c570000a13d0000000a030000290000000006030433000000000006004b00002d540000613d0000000901000039000000000101041a00000bc50710019700000000080000190000000009000019000000000a000019000600000006001d000500000007001d0000000001030433000000000081004b00002d970000a13d000000050180021000000009011000290000000001010433000000400b00043d00000c790200004100000000002b043500000bc5051001970000000401b0003900000000005104350000000001000414000000040070008c00002cc30000c13d0000000103000031000000200030008c0000002004000039000000000403401900002cf90000013d000b0000000a001d000c00000009001d000700000008001d000d00000005001d00000bc200b0009c00000bc20200004100000000020b4019000000400220021000000bc20010009c00000bc201008041000000c001100210000000000121019f00000c63011001c7000000000207001900080000000b001d2f032efe0000040f000000080b000029000000600310027000000bc203300197000000200030008c00000020040000390000000004034019000000200640019000000000056b001900002ce20000613d000000000701034f00000000080b0019000000007907043c0000000008980436000000000058004b00002cde0000c13d0000001f0740019000002cef0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000000c090000290000000b0a00002900002da30000613d0000000d050000290000000606000029000000050700002900000007080000290000001f01400039000000600210018f0000000001b20019000000000021004b0000000002000039000000010200403900000bc90010009c00002d9d0000213d000000010020019000002d9d0000c13d000000400010043f000000200030008c00002d940000413d000000ff0080008c00002bd50000613d00000000020b04330000000000a2004b000000000509a01900000000020aa0190000000103800039000000ff0830018f000000000068004b0000000009050019000000000a0200190000000a0300002900002caf0000413d000000000002004b0000000004050019000000000400601900000bc50640019800002d560000613d0000000102000029000000130020008c00002d560000a13d000c00000006001d000d00000005001d0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197000b00000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f000000010020019000002dc10000613d000000000101043b000000000001004b0000000d040000290000000c0300002900002d940000613d000000400500043d00000024015000390000000202000029000000000021043500000c660100004100000000001504350000000401500039000000000031043500000000010004140000000b02000029000000040020008c00002d500000613d00000bc20050009c00000bc2030000410000000003054019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c1a011001c7000c00000005001d2f032ef90000040f0000000c050000290000000d04000029000000600310027000010bc20030019d0003000000010355000000010020019000002dc80000613d00000bc90050009c00002d9d0000213d000000400050043f00002d7c0000013d000000400100043d000000000400001900000020020000390000000002210436000000000303043300000000003204350000004002100039000000000003004b000d00000004001d00002d670000613d00000000040000190000000a060000290000002006600039000000000506043300000bc50550019700000000025204360000000104400039000000000034004b00002d600000413d000000000212004900000bc20020009c00000bc202008041000000600220021000000bc20010009c00000bc2010080410000004001100210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000121019f00000c22011001c70000800d02000039000000010300003900000c7a040000412f032ef90000040f00000001002001900000000d0400002900002d940000613d00000bc50140019800002bea0000613d000000400200043d000000200320003900000002040000290000000000430435000000000012043500000040012000390000000103000039000000000031043500000bc20020009c00000bc2020080410000004001200210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c24011001c70000800d0200003900000c26040000412f032ef90000040f000000010020019000002bea0000c13d000000000100001900002f0500010430000000000001042d00000c8b01000041000000000010043f0000003201000039000000040010043f00000c630100004100002f050001043000000c8b01000041000000000010043f0000004101000039000000040010043f00000c630100004100002f05000104300000001f0530018f00000bc406300198000000400200043d000000000462001900002dae0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00002daa0000c13d000000000005004b00002dbb0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000600130021000000bc20020009c00000bc2020080410000004002200210000000000112019f00002f0500010430000000000001042f00000c8b01000041000000000010043f0000001201000039000000040010043f00000c630100004100002f050001043000000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900002dae0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00002dd00000c13d00002dae0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900002dae0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00002ddc0000c13d00002dae0000013d00000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900002dae0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00002de90000c13d00002dae0000013d0000001f0530018f00000bc406300198000000400200043d000000000462001900002dae0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00002df50000c13d00002dae0000013d00010000000000020000000001000411000000000001004b00002e850000613d00000c6801000041000000000010043f0000000201000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f000000010020019000002e820000613d000000000101043b000000000101041a00000bc50010019800002e900000c13d000000000100041100000bc501100197000100000001001d000000000010043f0000000301000039000000200010043f000000000100041400000bc20010009c00000bc201008041000000c00110021000000c0d011001c700008010020000392f032efe0000040f000000010020019000002e820000613d000000000101043b000000000201041a000000010220003a00002ea10000613d000000000021041b00000c6801000041000000000010043f0000000201000039000000200010043f00000c6901000041000000000201041a00000bcc0220019700000001022001af000000000021041b000000000100041400000bc20010009c00000bc201008041000000c00110021000000c22011001c70000800d02000039000000040300003900000c4c040000410000000005000019000000000600041100000c68070000412f032ef90000040f000000010020019000002e820000613d0000000602000039000000000102041a00000c6a0110019700000c6b011001c7000000000012041b00000c20010000410000000000100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c1f011001c70000800b020000392f032efe0000040f000000010020019000002e840000613d0000000603000039000000000203041a00000c6c02200197000000000101043b000000900110021000000c6d01100197000000000112019f000000000013041b2f032a390000040f0000000901000039000000000101041a00000c1702000041000000000020044300000bc501100197000100000001001d0000000400100443000000000100041400000bc20010009c00000bc201008041000000c00110021000000c18011001c700008002020000392f032efe0000040f000000010020019000002e840000613d000000000101043b000000000001004b00002e820000613d000000400400043d00000c7b01000041000000000014043500000000010004140000000102000029000000040020008c00002e7e0000613d00000bc20040009c00000bc2030000410000000003044019000000400330021000000bc20010009c00000bc201008041000000c001100210000000000131019f00000c6f011001c7000100000004001d2f032ef90000040f0000000104000029000000600310027000010bc20030019d0003000000010355000000010020019000002ead0000613d00000cac0040009c00002ea70000813d000000400040043f000000000001042d000000000100001900002f0500010430000000000001042f000000400100043d000000440210003900000c5103000041000000000032043500000c10020000410000000000210435000000240210003900000020030000390000000000320435000000040210003900002e9b0000013d000000400100043d000000440210003900000c8603000041000000000032043500000024021000390000001c03000039000000000032043500000c1002000041000000000021043500000004021000390000002003000039000000000032043500000bc20010009c00000bc201008041000000400110021000000c11011001c700002f050001043000000c8b01000041000000000010043f0000001101000039000000040010043f00000c630100004100002f050001043000000c8b01000041000000000010043f0000004101000039000000040010043f00000c630100004100002f050001043000000bc2033001970000001f0530018f00000bc406300198000000400200043d000000000462001900002eb90000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00002eb50000c13d000000000005004b00002ec60000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000600130021000000bc20020009c00000bc2020080410000004002200210000000000112019f00002f0500010430000000000001042f00000bc20010009c00000bc201008041000000400110021000000bc20020009c00000bc2020080410000006002200210000000000112019f000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000c22011001c700008010020000392f032efe0000040f000000010020019000002ee00000613d000000000101043b000000000001042d000000000100001900002f050001043000000000050100190000000000200443000000040030008c00002ee90000a13d00000005014002700000000001010031000000040010044300000bc20030009c00000bc2030080410000006001300210000000000200041400000bc20020009c00000bc202008041000000c002200210000000000112019f00000cad011001c700000000020500192f032efe0000040f000000010020019000002ef80000613d000000000101043b000000000001042d000000000001042f00002efc002104210000000102000039000000000001042d0000000002000019000000000001042d00002f01002104230000000102000039000000000001042d0000000002000019000000000001042d00002f030000043200002f040001042e00002f05000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffbf50757267652047616d6520426574612054657374000000000000000000000000505552474547414d454245544100000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff020000000000000000000000000000000000002000000000000000000000000068747470733a2f2f70757267652e67616d65732f626574612f746f6b656e732fffffffffffffffffffffffff000000000000000000000000000000000000000000000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000077b53ecd00000000000000000000000000000000000000000000000000000000b88d4fdd00000000000000000000000000000000000000000000000000000000e985e9c400000000000000000000000000000000000000000000000000000000f9f494ec00000000000000000000000000000000000000000000000000000000f9f494ed00000000000000000000000000000000000000000000000000000000fac6da4100000000000000000000000000000000000000000000000000000000fe62150500000000000000000000000000000000000000000000000000000000e985e9c500000000000000000000000000000000000000000000000000000000f7b341eb00000000000000000000000000000000000000000000000000000000f8a8fd6d00000000000000000000000000000000000000000000000000000000c87b56dc00000000000000000000000000000000000000000000000000000000c87b56dd00000000000000000000000000000000000000000000000000000000d547cfb700000000000000000000000000000000000000000000000000000000dac5b7cc00000000000000000000000000000000000000000000000000000000b88d4fde00000000000000000000000000000000000000000000000000000000bdb337d100000000000000000000000000000000000000000000000000000000c1d02e6f00000000000000000000000000000000000000000000000000000000a2309ff700000000000000000000000000000000000000000000000000000000b401faf000000000000000000000000000000000000000000000000000000000b401faf100000000000000000000000000000000000000000000000000000000b423fe6700000000000000000000000000000000000000000000000000000000b6c693e500000000000000000000000000000000000000000000000000000000a2309ff800000000000000000000000000000000000000000000000000000000a6737f1000000000000000000000000000000000000000000000000000000000b3fe49a90000000000000000000000000000000000000000000000000000000095d89b400000000000000000000000000000000000000000000000000000000095d89b4100000000000000000000000000000000000000000000000000000000a0ef91df00000000000000000000000000000000000000000000000000000000a22cb4650000000000000000000000000000000000000000000000000000000077b53ece0000000000000000000000000000000000000000000000000000000082651bd000000000000000000000000000000000000000000000000000000000838086640000000000000000000000000000000000000000000000000000000021602ae5000000000000000000000000000000000000000000000000000000004e9c6b1e000000000000000000000000000000000000000000000000000000006352211d000000000000000000000000000000000000000000000000000000006352211e0000000000000000000000000000000000000000000000000000000070a082310000000000000000000000000000000000000000000000000000000076dd463d000000000000000000000000000000000000000000000000000000004e9c6b1f0000000000000000000000000000000000000000000000000000000052a2f05c0000000000000000000000000000000000000000000000000000000052a9b59d0000000000000000000000000000000000000000000000000000000042842e0d0000000000000000000000000000000000000000000000000000000042842e0e0000000000000000000000000000000000000000000000000000000044d9bc5f000000000000000000000000000000000000000000000000000000004c2612470000000000000000000000000000000000000000000000000000000021602ae60000000000000000000000000000000000000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000029cd589e000000000000000000000000000000000000000000000000000000000d75097b0000000000000000000000000000000000000000000000000000000013faede50000000000000000000000000000000000000000000000000000000013faede60000000000000000000000000000000000000000000000000000000017741cce000000000000000000000000000000000000000000000000000000001ac2a062000000000000000000000000000000000000000000000000000000000d75097c000000000000000000000000000000000000000000000000000000000d7cffb0000000000000000000000000000000000000000000000000000000001013c9050000000000000000000000000000000000000000000000000000000006fdde020000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000081812fc00000000000000000000000000000000000000000000000000000000095ea7b30000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000269a89e000000000000000000000000000000000000000000000000000000000675b7c6020000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000004f666673657420616c726561647920736574000000000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc4653600ffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff4f6666736574206f7574206f662072616e67650000000000000000000000000043616e6e6f742072656d6f7665206f776e6572000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000ec69b9d300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000ff000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f19cae4629a2dd7890036d0d1f6a82742845b778b7184e38d5bebfd4cce3b181e0200000200000000000000000000000000000004000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913232000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f02000000000000000000000000000000000000600000000000000000000000005ce62d5c9c78bbfe0b195205b476fa1b18b12cc0960d6d59e4a6404729265c48c683baf044c613bbd060078b32cfd1f4f8789f54d4f1821b55e7d54a6699beb2ffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000190000000000ffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000800000000000000000bbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d000000000000000000000000000000000000000000000000fffffffffffffffe00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff300000000000000000000000000000000000000000000000000000000000000070a082310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000008000000000000000000000000000000000000000000000000000000000000000000000000001f78a3f0000000000000000000000000000000000000000000000000000000001f78a40d3fd2171000000000000000000000000000000000000000000000000000000004e6f7420656e6f75676820245055524745440000000000000000000000000000dd62ed3e0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0875bffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0875c09c8550ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000192d5000000000000000000000000000000000000000000000000000000000ffffff7bffffffffffffffffffffffffffffffffffffff7c00000000000000000000000042cbb15ccdc3cad6266b0e7a08c0454b23bf29dc2df74b6f3c209e9336465bd17aabbcd54b018034a4451601dafdf970439800f136bef10bfa3562a08d74d57d55534443207472616e73666572206661696c65640000000000000000000000005553444320616c6c6f77616e636520746f6f206c6f7700000000000000000000496e73756666696369656e7420555344432062616c616e6365000000000000000000000000000000000000000000000000000000000000000000000000ff0000a9059cbb000000000000000000000000000000000000000000000000000000004e6f2077696e6e696e677320746f20636c61696d00000000000000000000000000000000000000000000000000000000000000000000000000000000028f5c280000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000fffffffffffffffc00000000000000000000000000000000000000000000000000000000000f4240ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000fc0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000515412d560fbfda6bf9ec1474ed5bd6a7951f6b28aa6f165e374064f5adba8724552433732313a206d696e7420746f20746865207a65726f2061646472657373ffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffff0000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c314552433732313a20617070726f766520746f2063616c6c65720000000000000000000000000000000000000000000000000000640000008000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f395472616e73666572206661696c65642e00000000000000000000000000000000b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf64552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff0000000000000000000000000000000000000000000000000000000000010000441cdededb7ac074ff7b5995d2fa83d6991dae1ecd50c96e24eac549a0f2e5b300000000000000000000000000000000000000000000000000000000ff12b1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff12b20000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000035a4e900000000000000000000000000000000000000000000000000ffffffffffffff0029224e360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c46535ff00000000000000000000000000000000000000000000000000000000fac0d7751dab23dea9e47b4e3d6126fffa370df7868fd8e389984539b2adbfa8fbe82421ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff0000000000000000000000000000000000000000000000000000000001000000ffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffff00000000000000000000ffffffff000000000000000000000000000000000000048c14f1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000005f5e100059384b33000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffffffffe5f37b92eb3000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff3fff3a10ab0000000000000000000000000000000000000000000000000000000007f62407d22076a96cc17dc752f9613439b6b91b0574a5f6a045e5c9ec91cd049b800dd700000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffff000000000000000000000000000000000000ffffffff000000000000000000004d696e7420696e6163746976650000000000000000000000000000000000000047616d65204f7665720000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff0000000000000000000000000000000000000000000000000000000100000000596f7520646f206e6f74206f776e207468617420746f6b656e000000000000008c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92500000000000000000000000000000000000000000000000000000000fffffe00000000000000000000000000000000000000000000000000000000003b9ac9ff4552433732313a20746f6b656e20616c7265616479206d696e746564000000004e756d626572206f6620707572676573206d757374206265206265747765656e203120616e6420333030000000000000000000000000000000000000000000004e6f2070757267696e67206265666f72652072657665616c0000000000000000000000000000000000000000000000000000000000000000fffffffffffffedf4e487b71000000000000000000000000000000000000000000000000000000006e6572206e6f7220617070726f76656420666f7220616c6c00000000000000004552433732313a20617070726f76652063616c6c6572206973206e6f74206f77000000000000000000000000000000000000008400000000000000000000000072000000000000000000000000000000000000000000000000000000000000004552433732313a20617070726f76616c20746f2063757272656e74206f776e65656e7420746f6b656e00000000000000000000000000000000000000000000004552433732313a206f776e657220717565727920666f72206e6f6e6578697374290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56343616c6c6572206973206e6f742061207472757374656420616464726573730000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000005b5e139f0000000000000000000000000000000000000000000000000000000080ac58cd00000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed3697374656e7420746f6b656e00000000000000000000000000000000000000004552433732313a20617070726f76656420717565727920666f72206e6f6e6578776e6572206e6f7220617070726f7665640000000000000000000000000000004552433732313a207472616e736665722063616c6c6572206973206e6f74206f6f776e65720000000000000000000000000000000000000000000000000000004552433732313a207472616e736665722066726f6d20696e636f727265637420150b7a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffe072657373000000000000000000000000000000000000000000000000000000004552433732313a207472616e7366657220746f20746865207a65726f206164644552433732313a206f70657261746f7220717565727920666f72206e6f6e657863656976657220696d706c656d656e74657200000000000000000000000000004552433732313a207472616e7366657220746f206e6f6e20455243373231526500000000000000000000000000000000000000000000000100000000000000000200000200000000000000000000000000000000000000000000000000000000e70a2060f98c9742d0ac72a850de20e20c967b16a7f104579062bd7634692d41
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000078c74d3f733c38acab41b21beadef7aed40050de000000000000000000000000be69bdb819591029cfd50cb2c204c7374dac1e89
-----Decoded View---------------
Arg [0] : purgedCoinContract (address): 0x78c74D3f733c38ACaB41b21BEAdeF7AED40050DE
Arg [1] : _usdcTokenAddress (address): 0xBE69bDb819591029CFd50Cb2C204C7374DAC1E89
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000078c74d3f733c38acab41b21beadef7aed40050de
Arg [1] : 000000000000000000000000be69bdb819591029cfd50cb2c204c7374dac1e89
Loading...
Loading
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.