Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 704,124 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Burn And Mint | 4902973 | 20 days ago | IN | 0 ETH | 0.00001908 | ||||
Burn And Mint | 4902934 | 20 days ago | IN | 0 ETH | 0.00001293 | ||||
Burn And Mint | 4902918 | 20 days ago | IN | 0 ETH | 0.00001216 | ||||
Burn And Mint | 4902899 | 20 days ago | IN | 0 ETH | 0.00001274 | ||||
Burn And Mint | 4902884 | 20 days ago | IN | 0 ETH | 0.00001391 | ||||
Burn And Mint | 4902855 | 20 days ago | IN | 0 ETH | 0.00001009 | ||||
Burn And Mint | 4902841 | 20 days ago | IN | 0 ETH | 0.00001009 | ||||
Burn And Mint | 4902824 | 20 days ago | IN | 0 ETH | 0.00001035 | ||||
Burn And Mint | 4902803 | 20 days ago | IN | 0 ETH | 0.00001035 | ||||
Burn And Mint | 4902551 | 20 days ago | IN | 0 ETH | 0.00001035 | ||||
Burn And Mint | 4902466 | 20 days ago | IN | 0 ETH | 0.00001062 | ||||
Burn And Mint | 4902450 | 20 days ago | IN | 0 ETH | 0.0000114 | ||||
Burn And Mint | 4902429 | 20 days ago | IN | 0 ETH | 0.00001979 | ||||
Burn And Mint | 4902420 | 20 days ago | IN | 0 ETH | 0.00001035 | ||||
Burn And Mint | 4902303 | 20 days ago | IN | 0 ETH | 0.00001338 | ||||
Burn And Mint | 4902285 | 20 days ago | IN | 0 ETH | 0.00001034 | ||||
Burn And Mint | 4902152 | 20 days ago | IN | 0 ETH | 0.00001635 | ||||
Burn And Mint | 4869871 | 20 days ago | IN | 0 ETH | 0.000013 | ||||
Burn And Mint | 4869802 | 20 days ago | IN | 0 ETH | 0.00001924 | ||||
Burn And Mint | 4729866 | 22 days ago | IN | 0 ETH | 0.00001888 | ||||
Burn And Mint | 4699353 | 22 days ago | IN | 0 ETH | 0.0000155 | ||||
Burn And Mint | 4588454 | 24 days ago | IN | 0 ETH | 0.00001505 | ||||
Burn And Mint | 4588427 | 24 days ago | IN | 0 ETH | 0.00002761 | ||||
Burn And Mint | 4575230 | 24 days ago | IN | 0 ETH | 0.00002095 | ||||
Burn And Mint | 4563880 | 24 days ago | IN | 0 ETH | 0.00001889 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
251750 | 75 days ago | Contract Creation | 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:
BurnAndMint
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 "@thirdweb-dev/contracts/extension/Ownable.sol"; //reentrancy guard import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; interface ITokenERC1155 { function mintTo( address to, uint256 tokenId, string memory uri, uint256 amount ) external; function burnBatch( address from, uint256[] memory tokenIds, uint256[] memory amounts ) external; function nextTokenIdToMint() external view returns (uint256); } /// @title BurnAndMint /// @author er1c.eth /// @notice Allows users to burn ERC1155 tokens and receive random new tokens /// @notice Implements the IPaymaster interface for zkSync, allowing for gasless transactions /// @dev Inherits Ownable for access control and ReentrancyGuard for security contract BurnAndMint is Ownable, ReentrancyGuard { enum Rarity { Common, Uncommon, Rare, Epic, Legendary, SecretRare } mapping(uint256 => BurnRatioAndWeight) public burnRatioAndWeight; mapping(uint256 => Rarity) public tokenRarity; uint256 private _magic; ITokenERC1155 public tokenContract; uint256 public burnableMinTokenId = 0; uint256 public burnableMaxTokenId = 4; // Default redeem range to separate out as a buffer of the minted tokens uint256 public REDEEM_FROM_ID = 100; uint256 public REDEEM_TO_ID = 138; error InvalidRatio(string message); error InvalidBurnableRange(string message); error InvalidTokenAmounts(string message); event RedeemRangeSet(uint256 fromId, uint256 toId); event TokensBurnedAndMinted( address indexed user, uint256[] burnedTokenIds, uint256[] burnedAmounts, uint256[] mintedTokenIds, uint256[] mintedAmounts ); event BurnableRangeSet(uint256 fromId, uint256 toId); /// @notice Constructor initializes the contract with token contract and owner /// @param _tokenContract Address of the ERC1155 token contract /// @param _owner Address of the contract owner constructor(address _tokenContract, address _owner) Ownable() { require(_tokenContract != address(0), "Zero address not allowed"); require(_owner != address(0), "Zero address not allowed"); tokenContract = ITokenERC1155(_tokenContract); _setupOwner(_owner); } //for internal use in random mint struct TokenAllocation { uint256 tokenId; uint256 amount; } struct BurnRatioAndWeight { uint256 burnRatio; ///@dev Array to hold weights for each rarity type, must match the number of rarities uint256[] rarityWeights; } function _canSetOwner() internal view override returns (bool) { return msg.sender == owner(); } /// @notice Sets the range of token IDs that can be minted /// @param fromId The starting token ID of the range /// @param toId The ending token ID of the range /// @dev fromId must be less than toId function setRedeemRange(uint256 fromId, uint256 toId) public onlyOwner { require(fromId < toId, "Invalid ID range"); REDEEM_FROM_ID = fromId; REDEEM_TO_ID = toId; emit RedeemRangeSet(fromId, toId); } function setBurnableRange(uint256 fromId, uint256 toId) public onlyOwner { require(fromId < toId, "Invalid ID range"); burnableMinTokenId = fromId; burnableMaxTokenId = toId; emit BurnableRangeSet(fromId, toId); } function setBurnRatioAndWeight( uint256 tokenId, uint256 burnRatio, uint256[] memory rarityWeights ) public onlyOwner { burnRatioAndWeight[tokenId] = BurnRatioAndWeight( burnRatio, rarityWeights ); } function getBurnRatioAndWeight( uint256 tokenId ) public view returns (BurnRatioAndWeight memory) { return burnRatioAndWeight[tokenId]; } function setTokenRarity(uint256 tokenId, Rarity rarity) public onlyOwner { tokenRarity[tokenId] = rarity; } function getTokenRarity(uint256 tokenId) public view returns (Rarity) { return tokenRarity[tokenId]; } struct RarityPair { string name; Rarity rarity; } ///@dev return the pair of enum values function getAvailableRarities() public pure returns (RarityPair[] memory) { RarityPair[] memory rarities = new RarityPair[](6); rarities[0] = RarityPair("Common", Rarity.Common); rarities[1] = RarityPair("Uncommon", Rarity.Uncommon); rarities[2] = RarityPair("Rare", Rarity.Rare); rarities[3] = RarityPair("Epic", Rarity.Epic); rarities[4] = RarityPair("Legendary", Rarity.Legendary); rarities[5] = RarityPair("SecretRare", Rarity.SecretRare); return rarities; } /// @notice Burns tokens and mints new ones based on burn ratios /// @param tokenIds Array of token IDs to burn /// @param amounts Array of amounts to burn for each token ID /// @dev Uses randomMint internally to determine new token distribution function burnAndMint( uint256[] memory tokenIds, uint256[] memory amounts ) external nonReentrant { if (tokenIds.length != amounts.length) { revert InvalidTokenAmounts( "Token IDs and amounts must be the same length" ); } uint256 totalBurned = 0; for (uint256 i = 0; i < tokenIds.length; i++) { if ( tokenIds[i] < burnableMinTokenId || tokenIds[i] > burnableMaxTokenId ) { revert InvalidBurnableRange( "Token ID is not in the burnable range" ); } totalBurned += amounts[i]; } if (totalBurned > 15) { revert InvalidTokenAmounts("Can only burn 15 tokens at a time"); } tokenContract.burnBatch(msg.sender, tokenIds, amounts); // Pre-calculate total tokens to mint uint256 totalTokensToMint = 0; for (uint256 i = 0; i < tokenIds.length; i++) { totalTokensToMint += amounts[i] * burnRatioAndWeight[tokenIds[i]].burnRatio; } // Create single arrays for all tokens uint256[] memory allTokenIds = new uint256[](totalTokensToMint); uint256[] memory allTokenAmounts = new uint256[](totalTokensToMint); uint256 globalIndex = 0; // Fill arrays for (uint256 i = 0; i < tokenIds.length; i++) { BurnRatioAndWeight storage burnData = burnRatioAndWeight[ tokenIds[i] ]; uint256 tokensForThisBurn = amounts[i] * burnData.burnRatio; for (uint256 j = 0; j < tokensForThisBurn; j++) { Rarity rarity = _determineRarity( burnData.rarityWeights, globalIndex ); allTokenIds[globalIndex] = _getRandomTokenByRarity( rarity, globalIndex ); allTokenAmounts[globalIndex] = 1; tokenContract.mintTo( msg.sender, allTokenIds[globalIndex], "", 1 ); globalIndex++; } } // Single batch mint for all tokens emit TokensBurnedAndMinted( msg.sender, tokenIds, amounts, allTokenIds, allTokenAmounts ); } function deterministicRandom( uint256 definedSeed ) internal view returns (uint256) { return uint256( keccak256( abi.encodePacked( block.timestamp, block.number, block.number, block.prevrandao, blockhash(block.number - 1), msg.sender, blockhash(block.number - 1), blockhash(block.number - 2), block.coinbase, tx.gasprice, definedSeed ) ) ); } // Helper function to determine rarity based on weights function _determineRarity( uint256[] memory weights, uint256 definedSeed ) internal view returns (Rarity) { // Cache array length uint256 len = weights.length; // Calculate total weight with unchecked for gas optimization uint256 totalWeight; unchecked { for (uint256 i = 0; i < len; i++) { totalWeight += weights[i]; } } require(totalWeight > 0, "Total weight must be greater than 0"); // Use deterministicRandom instead of keccak256 directly for consistency uint256 randomNumber = deterministicRandom(definedSeed) % totalWeight; // Combine loops: check cumulative weights and find last non-zero weight uint256 cumulative; uint256 lastNonZeroIndex = 0; unchecked { for (uint256 i = 0; i < len; i++) { if (weights[i] > 0) { lastNonZeroIndex = i; cumulative += weights[i]; if (randomNumber < cumulative) { return Rarity(i); } } } } // Return last non-zero weight rarity without additional loop return Rarity(lastNonZeroIndex); } // Helper function to mint a random token based on rarity function _getRandomTokenByRarity( Rarity targetRarity, uint256 definedSeed ) internal view returns (uint256) { // Create a temporary array to store valid token IDs for the target rarity uint256[] memory validTokens = new uint256[]( REDEEM_TO_ID - REDEEM_FROM_ID + 1 ); uint256 count = 0; // Collect all tokens matching the target rarity for (uint256 id = REDEEM_FROM_ID; id <= REDEEM_TO_ID; id++) { if (tokenRarity[id] == targetRarity) { validTokens[count] = id; count++; } } require(count > 0, "No tokens found for target rarity"); // Pick a random token from the valid ones uint256 randomIndex = _randomNumber(0, count - 1, definedSeed); return validTokens[randomIndex]; } // Helper to get a random number within a range function _randomNumber( uint256 min, uint256 max, uint256 definedSeed ) internal view returns (uint256) { return (deterministicRandom(definedSeed) % (max - min + 1)) + min; } // Helper to get a random number for determining rarity function _getRandomNumber( uint256 upperBound, uint256 definedSeed ) internal view returns (uint256) { return deterministicRandom(definedSeed) % upperBound; } }
// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.0; /// @author thirdweb import "./interface/IOwnable.sol"; /** * @title Ownable * @notice Thirdweb's `Ownable` is a contract extension to be used with any base contract. It exposes functions for setting and reading * who the 'owner' of the inheriting smart contract is, and lets the inheriting contract perform conditional logic that uses * information about who the contract's owner is. */ abstract contract Ownable is IOwnable { /// @dev The sender is not authorized to perform the action error OwnableUnauthorized(); /// @dev Owner of the contract (purpose: OpenSea compatibility) address private _owner; /// @dev Reverts if caller is not the owner. modifier onlyOwner() { if (msg.sender != _owner) { revert OwnableUnauthorized(); } _; } /** * @notice Returns the owner of the contract. */ function owner() public view override returns (address) { return _owner; } /** * @notice Lets an authorized wallet set a new owner for the contract. * @param _newOwner The address to set as the new owner of the contract. */ function setOwner(address _newOwner) external override { if (!_canSetOwner()) { revert OwnableUnauthorized(); } _setupOwner(_newOwner); } /// @dev Lets a contract admin set a new owner for the contract. The new owner must be a contract admin. function _setupOwner(address _newOwner) internal { address _prevOwner = _owner; _owner = _newOwner; emit OwnerUpdated(_prevOwner, _newOwner); } /// @dev Returns whether owner can be set in the given execution context. function _canSetOwner() internal view virtual returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at, * consider using {ReentrancyGuardTransient} instead. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } }
// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.0; /// @author thirdweb /** * Thirdweb's `Ownable` is a contract extension to be used with any base contract. It exposes functions for setting and reading * who the 'owner' of the inheriting smart contract is, and lets the inheriting contract perform conditional logic that uses * information about who the contract's owner is. */ interface IOwnable { /// @dev Returns the owner of the contract. function owner() external view returns (address); /// @dev Lets a module admin set a new owner for the contract. The new owner must be a module admin. function setOwner(address _newOwner) external; /// @dev Emitted when a new Owner is set. event OwnerUpdated(address indexed prevOwner, address indexed newOwner); }
{ "optimizer": { "enabled": true, "mode": "3" }, "viaIR": true, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"name":"InvalidBurnableRange","type":"error"},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"name":"InvalidRatio","type":"error"},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"name":"InvalidTokenAmounts","type":"error"},{"inputs":[],"name":"OwnableUnauthorized","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fromId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toId","type":"uint256"}],"name":"BurnableRangeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"prevOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fromId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toId","type":"uint256"}],"name":"RedeemRangeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"burnedTokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"burnedAmounts","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"mintedTokenIds","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"mintedAmounts","type":"uint256[]"}],"name":"TokensBurnedAndMinted","type":"event"},{"inputs":[],"name":"REDEEM_FROM_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REDEEM_TO_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"burnAndMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"burnRatioAndWeight","outputs":[{"internalType":"uint256","name":"burnRatio","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnableMaxTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnableMinTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAvailableRarities","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"enum BurnAndMint.Rarity","name":"rarity","type":"uint8"}],"internalType":"struct BurnAndMint.RarityPair[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getBurnRatioAndWeight","outputs":[{"components":[{"internalType":"uint256","name":"burnRatio","type":"uint256"},{"internalType":"uint256[]","name":"rarityWeights","type":"uint256[]"}],"internalType":"struct BurnAndMint.BurnRatioAndWeight","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenRarity","outputs":[{"internalType":"enum BurnAndMint.Rarity","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"burnRatio","type":"uint256"},{"internalType":"uint256[]","name":"rarityWeights","type":"uint256[]"}],"name":"setBurnRatioAndWeight","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fromId","type":"uint256"},{"internalType":"uint256","name":"toId","type":"uint256"}],"name":"setBurnableRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fromId","type":"uint256"},{"internalType":"uint256","name":"toId","type":"uint256"}],"name":"setRedeemRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"enum BurnAndMint.Rarity","name":"rarity","type":"uint8"}],"name":"setTokenRarity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenContract","outputs":[{"internalType":"contract ITokenERC1155","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenRarity","outputs":[{"internalType":"enum BurnAndMint.Rarity","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
ba4aa1d6cf24477ae9d69a69b6f9be0dcf5c8c99df6e7246fc40be989924f24a81698ac500000000000000000000000057e12abdf617fcd0d2ab6984c289075aa90cac8c000000000000000000000000214d48dade3bea78edff47edf60bb4dc5d6dc388
Deployed Bytecode
0x0002000000000002001500000000000200010000000103550000006003100270000002010030019d00000201033001970000000100200190000000800000c13d0000008002000039000000400020043f000000040030008c000000a60000413d000000000401043b000000e0044002700000020c0040009c000000a80000a13d0000020d0040009c000000cb0000a13d0000020e0040009c000001950000a13d0000020f0040009c000001f00000613d000002100040009c000002780000613d000002110040009c000000a60000c13d000000440030008c000000a60000413d0000000004000416000000000004004b000000a60000c13d0000000404100370000000000404043b000002240040009c000000a60000213d0000002305400039000000000035004b000000a60000813d0000000405400039000000000551034f000000000605043b000002240060009c000003340000213d00000005056002100000003f075000390000022507700197000002260070009c000003340000213d0000008007700039000000400070043f000000800060043f00000024044000390000000005450019000000000035004b000000a60000213d000000000006004b000000400000613d000000000641034f000000000606043b000000200220003900000000006204350000002004400039000000000054004b000000390000413d0000002402100370000000000202043b000002240020009c000000a60000213d0000002304200039000000000034004b000000000500001900000227050080410000022704400197000000000004004b00000000060000190000022706004041000002270040009c000000000605c019000000000006004b000000a60000c13d0000000404200039000000000441034f000000000404043b000002240040009c000003340000213d00000005054002100000003f065000390000022506600197000000400700043d0000000006670019001200000007001d000000000076004b00000000070000390000000107004039000002240060009c000003340000213d0000000100700190000003340000c13d000000400060043f00000012060000290000000006460436001100000006001d00000024022000390000000005250019000000000035004b000000a60000213d000000000004004b000000740000613d0000001203000029000000000421034f000000000404043b000000200330003900000000004304350000002002200039000000000052004b0000006d0000413d0000000101000039000000000101041a000000020010008c000003410000c13d000000400100043d00000249020000410000000000210435000002010010009c000002010100804100000040011002100000024a011001c700000801000104300000000002000416000000000002004b000000a60000c13d0000001f0230003900000202022001970000008002200039000000400020043f0000001f0430018f00000203053001980000008002500039000000910000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b0000008d0000c13d000000000004004b0000009e0000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000400030008c000000a60000413d000000800100043d000002040010009c000000a60000213d000000a00600043d000002040060009c000001020000a13d00000000010000190000080100010430000002190040009c000000f00000213d0000021f0040009c000001360000213d000002220040009c000002860000613d000002230040009c000000a60000c13d000000240030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000000401100370000000000101043b000002040010009c000000a60000213d000000000200041a00000204052001970000000003000411000000000053004b000002d00000c13d00000204061001970000020501200197000000000161019f000000000010041b0000000001000414000002010010009c0000020101008041000000c00110021000000206011001c70000800d0200003900000003030000390000020704000041000001eb0000013d000002140040009c0000012d0000213d000002170040009c000001c80000613d000002180040009c000000a60000c13d000000440030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000002402100370000000000202043b0000000401100370000000000101043b000000000300041a00000204033001970000000004000411000000000034004b000002d00000c13d000000000021004b000002d40000813d0000000603000039000000000013041b0000000703000039000000000023041b000000800010043f000000a00020043f0000000001000414000002010010009c0000020101008041000000c0011002100000024e011001c70000800d0200003900000001030000390000025204000041000001eb0000013d0000021a0040009c000001740000213d0000021d0040009c000002b20000613d0000021e0040009c000000a60000c13d000000240030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000000401100370000000000101043b000000000010043f0000000301000039000000200010043f0000000001000414000001a40000013d0000000102000039000000000022041b0000000602000039000000000002041b00000004020000390000000703000039000000000023041b00000064020000390000000803000039000000000023041b0000008a020000390000000903000039000000000023041b000000000001004b000001b70000613d000000000006004b000001b70000613d0000000502000039000000000302041a0000020503300197000000000113019f000000000012041b000000000100041a0000020502100197000000000262019f000000000020041b00000000020004140000020405100197000002010020009c0000020102008041000000c00120021000000206011001c70000800d020000390000000303000039000002070400004107ff07f50000040f0000000100200190000000a60000613d0000002001000039000001000010044300000120000004430000020801000041000008000001042e000002150040009c000001cd0000613d000002160040009c000000a60000c13d0000000001000416000000000001004b000000a60000c13d0000000801000039000002bb0000013d000002200040009c000002b70000613d000002210040009c000000a60000c13d000000240030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d000000c002000039000000400020043f000000800000043f0000006002000039000000a00020043f0000000401100370000000000101043b000000000010043f0000000201000039000000200010043f0000000001000414000002010010009c0000020101008041000000c00110021000000234011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000400300043d0000024d0030009c000003340000213d000000000101043b0000004002300039000000400020043f000000000201041a001500000003001d0000000002230436001100000002001d0000000101100039000000000301041a000000400200043d001400000002001d001200000003001d0000000002320436001300000002001d000000000010043f0000000001000414000002010010009c0000020101008041000000c00110021000000236011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d0000001207000029000000000007004b000002de0000c13d000000150400002900000014060000290000001305000029000002e90000013d0000021b0040009c000002bf0000613d0000021c0040009c000000a60000c13d000000440030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000002402100370000000000202043b001500000002001d000000050020008c000000a60000213d000000000200041a00000204022001970000000003000411000000000023004b000002d00000c13d0000000401100370000000000101043b000000000010043f0000000301000039000000200010043f0000004002000039000000000100001907ff07e00000040f000000000301041a0000025b0230019700000015022001af000000000021041b0000000001000019000008000001042e000002120040009c000002c80000613d000002130040009c000000a60000c13d000000240030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000000401100370000000000101043b000000000010043f0000000301000039000000200010043f0000000001000414000002010010009c0000020101008041000000c00110021000000234011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000000101043b000000000101041a000000ff0110018f000000050010008c000002cd0000a13d0000024401000041000000000010043f0000002101000039000000040010043f00000245010000410000080100010430000000400100043d0000004402100039000002090300004100000000003204350000002402100039000000180300003900000000003204350000020a020000410000000000210435000000040210003900000020030000390000000000320435000002010010009c000002010100804100000040011002100000020b011001c700000801000104300000000001000416000000000001004b000000a60000c13d000000000100041a000002c40000013d000000440030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000002402100370000000000202043b0000000401100370000000000101043b000000000300041a00000204033001970000000004000411000000000034004b000002d00000c13d000000000021004b000002d40000813d0000000803000039000000000013041b0000000903000039000000000023041b000000800010043f000000a00020043f0000000001000414000002010010009c0000020101008041000000c0011002100000024e011001c70000800d0200003900000001030000390000024f0400004107ff07f50000040f0000000100200190000000a60000613d0000000001000019000008000001042e000000640030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000004402100370000000000202043b000002240020009c000000a60000213d0000002304200039000000000034004b000000a60000813d0000000404200039000000000441034f000000000504043b000002240050009c000003340000213d00000005045002100000003f064000390000022506600197000002260060009c000003340000213d0000008007600039000000400070043f000000800050043f00000024022000390000000004240019000000000034004b000000a60000213d000000000005004b0000000005070019000002190000613d0000008003000039000000000521034f000000000505043b000000200330003900000000005304350000002002200039000000000042004b000002110000413d000000400500043d000000000200041a00000204022001970000000003000411000000000023004b0000033a0000c13d0000024d0050009c000003340000213d0000004002500039000000400020043f0000002402100370000000000202043b001500000005001d00000000032504360000008002000039001400000003001d00000000002304350000000401100370000000000101043b000000000010043f0000000201000039000000200010043f0000000001000414000002010010009c0000020101008041000000c00110021000000234011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d00000015020000290000000002020433000000000101043b000000000021041b00000014020000290000000002020433001400000002001d0000000002020433001500000002001d000002240020009c000003340000213d0000000102100039000000000302041a0000001501000029001300000002001d000000000012041b001200000003001d000000000031004b0000025f0000813d0000001301000029000000000010043f0000000001000414000002010010009c0000020101008041000000c00110021000000236011001c7000080100200003907ff07fa0000040f00000001002001900000001503000029000000a60000613d000000000201043b00000000013200190000001202200029000000000021004b0000025f0000813d000000000001041b0000000101100039000000000021004b0000025b0000413d0000001301000029000000000010043f0000000001000414000002010010009c0000020101008041000000c00110021000000236011001c7000080100200003907ff07fa0000040f000000010020019000000014050000290000001506000029000000a60000613d000000000101043b000000000006004b000001ee0000613d0000000002000019000000000312001900000020055000390000000004050433000000000043041b0000000102200039000000000062004b000002700000413d000001ee0000013d000000240030008c000000a60000413d0000000002000416000000000002004b000000a60000c13d0000000401100370000000000101043b000000000010043f0000000201000039000000200010043f0000004002000039000000000100001907ff07e00000040f000002bb0000013d0000000001000416000000000001004b000000a60000c13d0000016001000039000000400010043f0000000602000039000000800020043f00000060030000390000000004000019000002540010009c000003340000813d0000004005100039000000400050043f00000000053104360000000000050435000000a0054000390000000000150435000000a00040008c0000002004400039000000400100043d0000028f0000413d0000024d0010009c000003340000213d0000004003100039000000400030043f000002260010009c000003340000213d0000008004100039000000400040043f000000000023043500000060021000390000025504000041000000000042043500000000023104360000000000020435000000800200043d000000000002004b000003160000c13d0000024401000041000000000010043f0000003201000039000000040010043f000002450100004100000801000104300000000001000416000000000001004b000000a60000c13d0000000701000039000002bb0000013d0000000001000416000000000001004b000000a60000c13d0000000901000039000000000101041a000000800010043f0000024b01000041000008000001042e0000000001000416000000000001004b000000a60000c13d0000000501000039000000000101041a0000020401100197000000800010043f0000024b01000041000008000001042e0000000001000416000000000001004b000000a60000c13d0000000601000039000000000101041a000000800010043f0000024b01000041000008000001042e0000024c01000041000000800010043f000002530100004100000801000104300000020a01000041000000800010043f0000002001000039000000840010043f0000001001000039000000a40010043f0000025001000041000000c40010043f00000251010000410000080100010430000000000101043b0000000002000019000000150400002900000014060000290000001305000029000000000301041a000000000535043600000001011000390000000102200039000000000072004b000002e30000413d00000000016500490000001f011000390000025c021001970000000001620019000000000021004b00000000020000390000000102004039000002240010009c000003340000213d0000000100200190000003340000c13d000000400010043f000000110500002900000000006504350000002002000039000000400100043d00000000022104360000000003040433000000000032043500000000020504330000004003100039000000400400003900000000004304350000006003100039000000000402043300000000004304350000008003100039000000000004004b0000030d0000613d00000000050000190000002002200039000000000602043300000000036304360000000105500039000000000045004b000003070000413d0000000002130049000002010020009c00000201020080410000006002200210000002010010009c00000201010080410000004001100210000000000112019f000008000001042e000000a00010043f000000400100043d0000024d0010009c000003340000213d0000004002100039000000400020043f000002260010009c000003340000213d0000008003100039000000400030043f000000080300003900000000003204350000002003100039000000010400003900000000004304350000000000210435000000600210003900000256030000410000000000320435000000800200043d000000020020008c000002ac0000413d000000c00010043f000000400200043d0000024d0020009c000003340000213d0000004003200039000000400030043f000002260020009c000004340000a13d0000024401000041000000000010043f0000004101000039000000040010043f000002450100004100000801000104300000024c010000410000000000150435000002010050009c000002010500804100000040015002100000024a011001c7000008010001043000000002020000390000000101000039000000000021041b00000012010000290000000002010433000000800100043d000000000021004b000004b20000c13d000000000001004b000004be0000c13d0000000501000039000000000101041a000002310200004100000000002004430000020401100197001500000001001d00000004001004430000000001000414000002010010009c0000020101008041000000c00110021000000232011001c7000080020200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b000000000001004b000000a60000613d000000400300043d000000240130003900000060020000390000000000210435000002330100004100000000001304350000000401300039000000000200041100000000002104350000006401300039000000800200043d0000000000210435000500000003001d0000008401300039000000000002004b000003760000613d000000800300003900000000040000190000002003300039000000000503043300000000015104360000000104400039000000000024004b000003700000413d00000005030000290000000002310049000000040220008a00000044033000390000000000230435000000120200002900000000020204330000000001210436000000000002004b000003880000613d000000000300001900000012040000290000002004400039000000000504043300000000015104360000000103300039000000000023004b000003820000413d00000000020004140000001503000029000000040030008c0000039d0000613d00000005030000290000000001310049000002010010009c00000201010080410000006001100210000002010030009c00000201030080410000004003300210000000000131019f000002010020009c0000020102008041000000c002200210000000000121019f000000150200002907ff07f50000040f0000000100200190000004f40000613d0000000501000029000002240010009c000003340000213d0000000501000029000000400010043f000000800100043d000000000001004b0000000009000019000005140000c13d00000005019002100000003f0210003900000235042001970000000502400029000000000042004b00000000030000390000000103004039000002240020009c000003340000213d0000000100300190000003340000c13d000000400020043f00000005020000290000000002920436000300000002001d0000001f0210018f00000000030000310000000103300367000000000001004b000003c10000613d00000003070000290000000005170019000000000603034f000000006806043c0000000007870436000000000057004b000003bd0000c13d000000000002004b000000400500043d0000000004450019000400000005001d000000000054004b00000000050000390000000105004039000002240040009c000003340000213d0000000100500190000003340000c13d000000400040043f00000004040000290000000004940436000200000004001d000000000001004b000003d80000613d00000002040000290000000001140019000000003503043c0000000004540436000000000014004b000003d40000c13d000000000002004b000000800100043d000000000001004b000005480000c13d000000400100043d000000800400003900000000024104360000008003100039000000800500043d0000000000530435000000a003100039000000000005004b000003ec0000613d00000000060000190000002004400039000000000704043300000000037304360000000106600039000000000056004b000003e60000413d00000000041300490000000000420435000000120200002900000000040204330000000002430436000000000004004b000003fb0000613d000000000300001900000012060000290000002006600039000000000506043300000000025204360000000103300039000000000043004b000003f50000413d000000000312004900000040041000390000000000340435000000050300002900000000030304330000000002320436000000000003004b0000040b0000613d000000000400001900000005060000290000002006600039000000000506043300000000025204360000000104400039000000000034004b000004050000413d000000000312004900000060041000390000000000340435000000040300002900000000030304330000000002320436000000000003004b0000041b0000613d000000000400001900000004060000290000002006600039000000000506043300000000025204360000000104400039000000000034004b000004150000413d0000000002120049000002010020009c00000201020080410000006002200210000002010010009c00000201010080410000004001100210000000000112019f0000000002000414000002010020009c0000020102008041000000c002200210000000000121019f00000206011001c70000800d0200003900000002030000390000024804000041000000000500041107ff07f50000040f0000000100200190000000a60000613d0000000101000039000000000011041b0000000001000019000008000001042e0000008001200039000000400010043f000000040100003900000000001304350000002004200039000000020500003900000000005404350000000000320435000000600320003900000257040000410000000000430435000000800300043d000000030030008c000002ac0000413d000000e00020043f000000400200043d0000024d0020009c000003340000213d0000004003200039000000400030043f000002260020009c000003340000213d0000008004200039000000400040043f00000000001304350000002004200039000000030500003900000000005404350000000000320435000000600320003900000258040000410000000000430435000000800300043d000000040030008c000002ac0000413d000001000020043f000000400200043d0000024d0020009c000003340000213d0000004003200039000000400030043f000002260020009c000003340000213d0000008004200039000000400040043f00000009040000390000000000430435000000200420003900000000001404350000000000320435000000600120003900000259030000410000000000310435000000800100043d000000050010008c000002ac0000413d000001200020043f000000400100043d0000024d0010009c000003340000213d0000004002100039000000400020043f000002260010009c000003340000213d0000008003100039000000400030043f0000000a030000390000000000320435000000200310003900000005040000390000000000430435000000000021043500000060021000390000025a030000410000000000320435000000800200043d000000060020008c000002ac0000413d000001400010043f0000002002000039000000400100043d0000000003210436000000800200043d0000000000230435000000400310003900000005042002100000000008340019000000000002004b000004b00000613d000000a004000039000000400500003900000000070000190000000009180049000000400990008a0000000003930436000000004904043400000000ba0904340000000009580436000000400d80003900000000ca0a04340000000000ad0435000000600880003900000000000a004b000004a40000613d000000000d000019000000000e8d0019000000000fdc0019000000000f0f04330000000000fe0435000000200dd000390000000000ad004b0000049d0000413d000000000ca8001900000000000c0435000000000b0b04330000000600b0008c000001b10000813d0000000000b904350000001f09a000390000025c0990019700000000089800190000000107700039000000000027004b000004900000413d00000000021800490000030e0000013d000000400100043d00000064021000390000022803000041000000000032043500000044021000390000022903000041000000000032043500000024021000390000002d0300003900000000003204350000022a02000041000004eb0000013d0000000602000039000000000202041a00000007030000390000000005000019000000000400001900000011090000290000000506500210000000a0076000390000000007070433000000000027004b000004e00000413d000000000803041a000000000087004b000004e00000213d00000000066900190000000006060433000000000046001a000007b70000413d00000000044600190000000105500039000000000015004b000004c40000413d0000000f0040008c0000034b0000a13d000000400100043d00000064021000390000022c03000041000000000032043500000044021000390000022d03000041000000000032043500000024021000390000002103000039000004bb0000013d000000400100043d00000064021000390000022e03000041000000000032043500000044021000390000022f03000041000000000032043500000024021000390000002503000039000000000032043500000230020000410000000000210435000000040210003900000020030000390000000000320435000002010010009c000002010100804100000040011002100000022b011001c7000008010001043000000060061002700000001f0460018f0000020305600198000000400200043d0000000003520019000005000000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000004fc0000c13d0000020106600197000000000004004b0000050e0000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001304350000006001600210000002010020009c00000201020080410000004002200210000000000112019f0000080100010430000000000200001900000000050000190000001104000029001500000005001d00000012010000290000000001010433000000000021004b000002ac0000a13d001300000002001d000000050120021000000000021400190000000002020433001400000002001d000000a0011000390000000001010433000000000010043f0000000201000039000000200010043f0000000001000414000002010010009c0000020101008041000000c00110021000000234011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000000101043b000000000201041a000000140300002900000000013200a9000000000003004b000000110400002900000015050000290000053a0000613d00000000033100d9000000000023004b000007b70000c13d000000000051001a000007b70000413d000000000551001900000013020000290000000102200039000000800100043d000000000012004b000005170000413d000002240050009c000003340000213d0000000009050019000000400100043d000500000001001d000003a60000013d0000000001000411000b006000100218000100000000001d000d00000000001d000005520000013d0000000102000029000100010020003d000000800100043d000000010010006b000003dc0000813d00000001010000290000000501100210001500000001001d000000a0011000390000000001010433000000000010043f0000000201000039000000200010043f0000000001000414000002010010009c0000020101008041000000c00110021000000234011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000000101043b00000012020000290000000002020433000000010020006c0000001102000029000002ac0000a13d00000015022000290000000002020433000000000002004b0000054d0000613d000000000301041a00070000002300ad00000007022000f9000000000032004b000007b70000c13d000000070000006b0000054d0000613d000000400300043d000600010010003d000c00000000001d0000000601000029000000000201041a001400000003001d001500000002001d0000000002230436001000000002001d000000000010043f0000000001000414000002010010009c0000020101008041000000c00110021000000236011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d0000001506000029000000000006004b00000010050000290000000002050019000005950000613d000000000101043b00000000020500190000000003000019000000000401041a000000000242043600000001011000390000000103300039000000000063004b0000058f0000413d000000140300002900000000013200490000001f011000390000025c021001970000000001320019000000000021004b00000000020000390000000102004039000002240010009c000003340000213d0000000100200190000003340000c13d000000400010043f0000000006030433000000000006004b0000800b02000039000007bd0000613d0000000004000019000000000700001900000005034002100000000003530019000000000303043300000000077300190000000104400039000000000064004b000005a80000413d000a00000007001d000000000007004b000007bd0000613d000900000006001d000002370100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c707ff07fa0000040f0000000100200190000007b60000613d000000000301043b000000000003004b0000800b02000039000007b70000613d00000239010000410000000000100443000000010130008a00000004001004430000000001000414000002010010009c0000020101008041000000c00110021000000232011001c7001300000003001d07ff07fa0000040f0000000100200190000007b60000613d0000001303000029000f000200300094000000000101043b000e00000001001d0000800b02000039000007b70000413d000000400100043d001500000001001d0000023a0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c707ff07fa0000040f0000000100200190000007b60000613d00000015020000290000002003200039000000000101043b000800000003001d0000000000130435000000600120003900000013030000290000000000310435000000400120003900000000003104350000023b0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b0000001504000029000000c0024000390000000b03000029000000000032043500000080024000390000000000120435000000a0014000390000000e020000290000000000210435000000d4014000390000000000210435000002390100004100000000001004430000000f0100002900000004001004430000000001000414000002010010009c0000020101008041000000c00110021000000232011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b0000001502000029000000f40220003900000000001204350000023c0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d00000015020000290000011402200039000000000101043b000000600110021000000000001204350000023d0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b000000150400002900000148024000390000000d03000029000000000032043500000128024000390000000000120435000001480100003900000000001404350000023e0040009c000003340000213d00000015020000290000018001200039000000400010043f0000000801000029000002010010009c000002010100804100000040011002100000000002020433000002010020009c00000201020080410000006002200210000000000112019f0000000002000414000002010020009c0000020102008041000000c002200210000000000112019f00000206011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000000101043b0000000a101000fa000000140200002900000000030204330000000002000019001300000000001d0000000004000019000000100600002900000009070000290000065b0000013d0000000102200039000000000072004b0000066a0000813d000000000023004b000002ac0000a13d000000050520021000000000056500190000000005050433000000000005004b000006580000613d0000000004450019000000000041004b001300000002001d000006580000813d000000050020008c001300000002001d0000066d0000a13d000001b10000013d0000001301000029000000050010008c000001b10000213d0000000801000039000000000601041a0000000901000039000000000101041a001000000001001d000000000161004b000007b70000413d000000010210003a000007b70000613d0000023f0010009c000003340000213d00000005012002100000003f031000390000022503300197000000400400043d0000000003340019000f00000004001d000000000043004b00000000040000390000000104004039000002240030009c000003340000213d0000000100400190000003340000c13d000000400030043f0000000f030000290000000002230436000e00000002001d000000000001004b000006930000613d0000000e04000029000000000214001900000000030000310000000103300367000000003503043c0000000004540436000000000024004b0000068f0000c13d0000001f001001900000000003000019001500000003001d001400000006001d000000000060043f0000000301000039000000200010043f0000000001000414000002010010009c0000020101008041000000c00110021000000234011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000000101043b000000000101041a000000ff0110018f000000050010008c000001b10000213d000000130010006c00000015030000290000001406000029000006b40000c13d0000000f010000290000000001010433000000000031004b000002ac0000a13d00000005013002100000000e0110002900000000006104350000000103300039000000010060003a0000800b02000039000007b70000413d000000100060006c0000000106600039000006950000413d001500000003001d000000000003004b000007c60000613d000002370100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c707ff07fa0000040f0000000100200190000007b60000613d000000000301043b000000000003004b0000800b02000039000007b70000613d00000239010000410000000000100443000000010130008a00000004001004430000000001000414000002010010009c0000020101008041000000c00110021000000232011001c7001300000003001d07ff07fa0000040f0000000100200190000007b60000613d00000013030000290010000200300094000000000101043b000a00000001001d0000800b02000039000007b70000413d000000400100043d001400000001001d0000023a0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c707ff07fa0000040f0000000100200190000007b60000613d00000014020000290000002003200039000000000101043b000900000003001d0000000000130435000000600120003900000013030000290000000000310435000000400120003900000000003104350000023b0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b0000001404000029000000c0024000390000000b03000029000000000032043500000080024000390000000000120435000000a0014000390000000a020000290000000000210435000000d401400039000000000021043500000239010000410000000000100443000000100100002900000004001004430000000001000414000002010010009c0000020101008041000000c00110021000000232011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b0000001402000029000000f40220003900000000001204350000023c0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d00000014020000290000011402200039000000000101043b000000600110021000000000001204350000023d0100004100000000001004430000000001000414000002010010009c0000020101008041000000c00110021000000238011001c70000800b0200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b000000140400002900000148024000390000000d03000029000000000032043500000128024000390000000000120435000001480100003900000000001404350000023e0040009c000003340000213d00000014020000290000018001200039000000400010043f0000000901000029000002010010009c000002010100804100000040011002100000000002020433000002010020009c00000201020080410000006002200210000000000112019f0000000002000414000002010020009c0000020102008041000000c002200210000000000112019f00000206011001c7000080100200003907ff07fa0000040f0000000100200190000000a60000613d000000000101043b00000015101000fa0000000f020000290000000002020433000000000012004b00000005040000290000000405000029000002ac0000a13d00000000020404330000000d0020006c000002ac0000a13d00000005011002100000000e031000290000000d0600002900000005026002100000000301200029000000000303043300000000003104350000000003050433000000000063004b000002ac0000a13d00000002022000290000000103000039000000000032043500000000020404330000000d0020006c000002ac0000a13d0000000502000039000000000202041a00000204022001970000000001010433001400000001001d00000231010000410000000000100443001500000002001d00000004002004430000000001000414000002010010009c0000020101008041000000c00110021000000232011001c7000080020200003907ff07fa0000040f0000000100200190000007b60000613d000000000101043b000000000001004b000000a60000613d000000400300043d000000440130003900000080020000390000000000210435000000240130003900000014020000290000000000210435000002400100004100000000001304350000000401300039000000000200041100000000002104350000006401300039000000010200003900000000002104350000008401300039000000000001043500000000010004140000001502000029000000040020008c000007ab0000613d000002010030009c000002010400004100000000040340190000004004400210000002010010009c0000020101008041000000c001100210000000000141019f00000241011001c7001400000003001d07ff07f50000040f00000014030000290000000100200190000007d20000613d000002240030009c000003340000213d000000400030043f0000000d01000029000d00010010003d0000000c020000290000000102200039000c00000002001d000000070020006c000005770000413d0000054d0000013d000000000001042f0000024401000041000000000010043f0000001101000039000000040010043f0000024501000041000008010001043000000064021000390000024603000041000000000032043500000044021000390000024703000041000000000032043500000024021000390000002303000039000007cf0000013d000000400100043d0000006402100039000002420300004100000000003204350000004402100039000002430300004100000000003204350000002402100039000000210300003900000000003204350000020a02000041000004eb0000013d00000060061002700000001f0460018f0000020305600198000000400200043d0000000003520019000005000000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b000007da0000c13d000005000000013d000000000001042f000002010010009c00000201010080410000004001100210000002010020009c00000201020080410000006002200210000000000112019f0000000002000414000002010020009c0000020102008041000000c002200210000000000112019f00000206011001c7000080100200003907ff07fa0000040f0000000100200190000007f30000613d000000000101043b000000000001042d00000000010000190000080100010430000007f8002104210000000102000039000000000001042d0000000002000019000000000001042d000007fd002104230000000102000039000000000001042d0000000002000019000000000001042d000007ff00000432000008000001042e00000801000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7600000002000000000000000000000000000000400000010000000000000000005a65726f2061646472657373206e6f7420616c6c6f776564000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000000000008da5cb5a00000000000000000000000000000000000000000000000000000000aa10ab7e00000000000000000000000000000000000000000000000000000000b6690c3f00000000000000000000000000000000000000000000000000000000b6690c4000000000000000000000000000000000000000000000000000000000be5e910f00000000000000000000000000000000000000000000000000000000ee026cab00000000000000000000000000000000000000000000000000000000aa10ab7f00000000000000000000000000000000000000000000000000000000afb0a36900000000000000000000000000000000000000000000000000000000a31087a000000000000000000000000000000000000000000000000000000000a31087a100000000000000000000000000000000000000000000000000000000a47d1aef000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000009da8f65100000000000000000000000000000000000000000000000000000000480f5eaf0000000000000000000000000000000000000000000000000000000055a373d50000000000000000000000000000000000000000000000000000000055a373d6000000000000000000000000000000000000000000000000000000007894505e00000000000000000000000000000000000000000000000000000000480f5eb000000000000000000000000000000000000000000000000000000000555ec78b000000000000000000000000000000000000000000000000000000001be6dd9e000000000000000000000000000000000000000000000000000000001be6dd9f00000000000000000000000000000000000000000000000000000000444be4a8000000000000000000000000000000000000000000000000000000000f39fc440000000000000000000000000000000000000000000000000000000013af4035000000000000000000000000000000000000000000000000ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff7f8000000000000000000000000000000000000000000000000000000000000000652073616d65206c656e67746800000000000000000000000000000000000000546f6b656e2049447320616e6420616d6f756e7473206d7573742062652074687089be10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000650000000000000000000000000000000000000000000000000000000000000043616e206f6e6c79206275726e20313520746f6b656e7320617420612074696d72616e6765000000000000000000000000000000000000000000000000000000546f6b656e204944206973206e6f7420696e20746865206275726e61626c652014e93dec000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000006b20c45400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000003fffffffffffffffe0020000000000000000000000000000000000002000000000000000000000000042cbb15ccdc3cad6266b0e7a08c0454b23bf29dc2df74b6f3c209e9336465bd1020000020000000000000000000000000000000400000000000000000000000080b41246c05cbb406f874e82aa2faf7db11bba9792fe09929e56ef1eee2c2da3796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913219cae4629a2dd7890036d0d1f6a82742845b778b7184e38d5bebfd4cce3b181ea6ae0aac158b2d5c9a9c9285743419d62a32f6727a640955e4ce8ee41503c784fe173b97ed9aa263236c52fa3eb334d07741add95e972d17352d76816b4aaea3000000000000000000000000000000000000000000000000fffffffffffffe7f000000000000000000000000000000000000000000000000fffffffffffffffeb03f45280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a400000000000000000000000079000000000000000000000000000000000000000000000000000000000000004e6f20746f6b656e7320666f756e6420666f72207461726765742072617269744e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000006e20300000000000000000000000000000000000000000000000000000000000546f74616c20776569676874206d75737420626520677265617465722074686132f54a05865fc08f24b535f33ecfb524cf2fa4bc4ab5d5ced480b92eee4a7ee53ee5aeb500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000008000000000000000002d99739600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf02000000000000000000000000000000000000400000008000000000000000003f9505e8bef14459baeb6ae6156379e08f2fd94b7692eceaff64f4d9b5edf362496e76616c69642049442072616e6765000000000000000000000000000000000000000000000000000000000000000000000064000000800000000000000000d2c5308dcfd94092804d909ed29d7f2f17f4c344b5cb0a51f3003c878fd805f60000000000000000000000000000000000000004000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffc0436f6d6d6f6e0000000000000000000000000000000000000000000000000000556e636f6d6d6f6e000000000000000000000000000000000000000000000000526172650000000000000000000000000000000000000000000000000000000045706963000000000000000000000000000000000000000000000000000000004c6567656e6461727900000000000000000000000000000000000000000000005365637265745261726500000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000025f49866ac320f1f969d9cf11429dcb5fbbd3365445f8268a9e056ca31ea795f
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000057e12abdf617fcd0d2ab6984c289075aa90cac8c000000000000000000000000214d48dade3bea78edff47edf60bb4dc5d6dc388
-----Decoded View---------------
Arg [0] : _tokenContract (address): 0x57E12aBdF617FcD0D2ab6984C289075aA90CAc8C
Arg [1] : _owner (address): 0x214D48DAdE3BEA78edff47edF60Bb4Dc5d6Dc388
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000057e12abdf617fcd0d2ab6984c289075aa90cac8c
Arg [1] : 000000000000000000000000214d48dade3bea78edff47edf60bb4dc5d6dc388
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.