Source Code
Overview
SOPH Balance
0 SOPH
More Info
ContractCreator
Multichain Info
N/A
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 76537 | 47 days ago | IN | 0 SOPH | 0.24302391 |
Loading...
Loading
This contract contains unverified libraries: SignatureChecker
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 Name:
MasterMinter
Compiler Version
v0.6.12+commit.27d51765
ZkSolc Version
v1.5.4
Optimization Enabled:
Yes with 200 runs
Other Settings:
istanbul EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** * Copyright 2023 Circle Internet Financial, LTD. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ pragma solidity 0.6.12; import { MintController } from "./MintController.sol"; /** * @title MasterMinter * @notice MasterMinter uses multiple controllers to manage minters for a * contract that implements the MinterManagerInterface. * @dev MasterMinter inherits all its functionality from MintController. */ contract MasterMinter is MintController { constructor(address _minterManager) public MintController(_minterManager) {} }
/** * Copyright 2023 Circle Internet Financial, LTD. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ pragma solidity 0.6.12; import { Controller } from "./Controller.sol"; import { MinterManagementInterface } from "./MinterManagementInterface.sol"; import { SafeMath } from "@openzeppelin/contracts/math/SafeMath.sol"; // solhint-disable func-name-mixedcase /** * @title MintController * @dev The MintController contract manages minters for a contract that * implements the MinterManagerInterface. It lets the owner designate certain * addresses as controllers, and these controllers then manage the * minters by adding and removing minters, as well as modifying their minting * allowance. A controller may manage exactly one minter, but the same minter * address may be managed by multiple controllers. * MintController inherits from the Controller contract. It treats the * Controller workers as minters. */ contract MintController is Controller { using SafeMath for uint256; /** * @dev MintController calls the minterManager to execute/record minter * management tasks, as well as to query the status of a minter address. */ MinterManagementInterface internal minterManager; event MinterManagerSet( address indexed _oldMinterManager, address indexed _newMinterManager ); event MinterConfigured( address indexed _msgSender, address indexed _minter, uint256 _allowance ); event MinterRemoved(address indexed _msgSender, address indexed _minter); event MinterAllowanceIncremented( address indexed _msgSender, address indexed _minter, uint256 _increment, uint256 _newAllowance ); event MinterAllowanceDecremented( address indexed msgSender, address indexed minter, uint256 decrement, uint256 newAllowance ); /** * @notice Initializes the minterManager. * @param _minterManager The address of the minterManager contract. */ constructor(address _minterManager) public { minterManager = MinterManagementInterface(_minterManager); } /** * @notice gets the minterManager */ function getMinterManager() external view returns (MinterManagementInterface) { return minterManager; } // onlyOwner functions /** * @notice Sets the minterManager. * @param _newMinterManager The address of the new minterManager contract. */ function setMinterManager(address _newMinterManager) public onlyOwner { emit MinterManagerSet(address(minterManager), _newMinterManager); minterManager = MinterManagementInterface(_newMinterManager); } // onlyController functions /** * @notice Removes the controller's own minter. */ function removeMinter() public onlyController returns (bool) { address minter = controllers[msg.sender]; emit MinterRemoved(msg.sender, minter); return minterManager.removeMinter(minter); } /** * @notice Enables the minter and sets its allowance. * @param _newAllowance New allowance to be set for minter. */ function configureMinter(uint256 _newAllowance) public onlyController returns (bool) { address minter = controllers[msg.sender]; emit MinterConfigured(msg.sender, minter, _newAllowance); return internal_setMinterAllowance(minter, _newAllowance); } /** * @notice Increases the minter's allowance if and only if the minter is an * active minter. * @dev An minter is considered active if minterManager.isMinter(minter) * returns true. */ function incrementMinterAllowance(uint256 _allowanceIncrement) public onlyController returns (bool) { require( _allowanceIncrement > 0, "Allowance increment must be greater than 0" ); address minter = controllers[msg.sender]; require( minterManager.isMinter(minter), "Can only increment allowance for minters in minterManager" ); uint256 currentAllowance = minterManager.minterAllowance(minter); uint256 newAllowance = currentAllowance.add(_allowanceIncrement); emit MinterAllowanceIncremented( msg.sender, minter, _allowanceIncrement, newAllowance ); return internal_setMinterAllowance(minter, newAllowance); } /** * @notice decreases the minter allowance if and only if the minter is * currently active. The controller can safely send a signed * decrementMinterAllowance() transaction to a minter and not worry * about it being used to undo a removeMinter() transaction. */ function decrementMinterAllowance(uint256 _allowanceDecrement) public onlyController returns (bool) { require( _allowanceDecrement > 0, "Allowance decrement must be greater than 0" ); address minter = controllers[msg.sender]; require( minterManager.isMinter(minter), "Can only decrement allowance for minters in minterManager" ); uint256 currentAllowance = minterManager.minterAllowance(minter); uint256 actualAllowanceDecrement = ( currentAllowance > _allowanceDecrement ? _allowanceDecrement : currentAllowance ); uint256 newAllowance = currentAllowance.sub(actualAllowanceDecrement); emit MinterAllowanceDecremented( msg.sender, minter, actualAllowanceDecrement, newAllowance ); return internal_setMinterAllowance(minter, newAllowance); } // Internal functions /** * @notice Uses the MinterManagementInterface to enable the minter and * set its allowance. * @param _minter Minter to set new allowance of. * @param _newAllowance New allowance to be set for minter. */ function internal_setMinterAllowance(address _minter, uint256 _newAllowance) internal returns (bool) { return minterManager.configureMinter(_minter, _newAllowance); } }
/** * Copyright 2023 Circle Internet Financial, LTD. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ pragma solidity 0.6.12; import { Ownable } from "../v1/Ownable.sol"; /** * @title Controller * @notice Generic implementation of the owner-controller-worker model. * One owner manages many controllers. Each controller manages one worker. * Workers may be reused across different controllers. */ contract Controller is Ownable { /** * @dev A controller manages a single worker address. * controllers[controller] = worker */ mapping(address => address) internal controllers; event ControllerConfigured( address indexed _controller, address indexed _worker ); event ControllerRemoved(address indexed _controller); /** * @notice Ensures that caller is the controller of a non-zero worker * address. */ modifier onlyController() { require( controllers[msg.sender] != address(0), "The value of controllers[msg.sender] must be non-zero" ); _; } /** * @notice Gets the worker at address _controller. */ function getWorker(address _controller) external view returns (address) { return controllers[_controller]; } // onlyOwner functions /** * @notice Configure a controller with the given worker. * @param _controller The controller to be configured with a worker. * @param _worker The worker to be set for the newly configured controller. * _worker must not be a non-zero address. To disable a worker, * use removeController instead. */ function configureController(address _controller, address _worker) public onlyOwner { require( _controller != address(0), "Controller must be a non-zero address" ); require(_worker != address(0), "Worker must be a non-zero address"); controllers[_controller] = _worker; emit ControllerConfigured(_controller, _worker); } /** * @notice disables a controller by setting its worker to address(0). * @param _controller The controller to disable. */ function removeController(address _controller) public onlyOwner { require( _controller != address(0), "Controller must be a non-zero address" ); require( controllers[_controller] != address(0), "Worker must be a non-zero address" ); controllers[_controller] = address(0); emit ControllerRemoved(_controller); } }
/** * Copyright 2023 Circle Internet Financial, LTD. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ pragma solidity 0.6.12; /** * @dev A contract that implements the MinterManagementInterface has external * functions for adding and removing minters and modifying their allowances. * An example is the FiatTokenV1 contract. */ interface MinterManagementInterface { function isMinter(address _account) external view returns (bool); function minterAllowance(address _minter) external view returns (uint256); function configureMinter(address _minter, uint256 _minterAllowedAmount) external returns (bool); function removeMinter(address _minter) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } }
/** * SPDX-License-Identifier: MIT * * Copyright (c) 2018 zOS Global Limited. * Copyright (c) 2018-2020 CENTRE SECZ * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ pragma solidity 0.6.12; /** * @notice The Ownable contract has an owner address, and provides basic * authorization control functions * @dev Forked from https://github.com/OpenZeppelin/openzeppelin-labs/blob/3887ab77b8adafba4a26ace002f3a684c1a3388b/upgradeability_ownership/contracts/ownership/Ownable.sol * Modifications: * 1. Consolidate OwnableStorage into this contract (7/13/18) * 2. Reformat, conform to Solidity 0.6 syntax, and add error messages (5/13/20) * 3. Make public functions external (5/27/20) */ contract Ownable { // Owner of the contract address private _owner; /** * @dev Event to show ownership has been transferred * @param previousOwner representing the address of the previous owner * @param newOwner representing the address of the new owner */ event OwnershipTransferred(address previousOwner, address newOwner); /** * @dev The constructor sets the original owner of the contract to the sender account. */ constructor() public { setOwner(msg.sender); } /** * @dev Tells the address of the owner * @return the address of the owner */ function owner() external view returns (address) { return _owner; } /** * @dev Sets a new owner address */ function setOwner(address newOwner) internal { _owner = newOwner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == _owner, "Ownable: caller is not the owner"); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) external onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); setOwner(newOwner); } }
{ "viaIR": false, "remappings": [ "forge-std/=lib/forge-std/src/", "@openzeppelin/=node_modules/@openzeppelin/", "@ensdomains/=node_modules/@ensdomains/", "@solidity-parser/=node_modules/prettier-plugin-solidity/node_modules/@solidity-parser/", "ds-test/=lib/forge-std/lib/ds-test/src/", "eth-gas-reporter/=node_modules/eth-gas-reporter/", "hardhat/=node_modules/hardhat/" ], "evmVersion": "istanbul", "outputSelection": { "*": { "*": [ "abi" ] } }, "optimizer": { "enabled": true, "mode": "3", "fallback_to_optimizing_for_size": false, "disable_system_request_memoization": true }, "metadata": {}, "libraries": { "contracts/util/SignatureChecker.sol": { "SignatureChecker": "0xdBd3FF2BC63D6e969aCb5333918Ac29c4bD40179" } }, "detectMissingLibraries": false, "enableEraVMExtensions": false, "forceEVMLA": false }
[{"inputs":[{"internalType":"address","name":"_minterManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_controller","type":"address"},{"indexed":true,"internalType":"address","name":"_worker","type":"address"}],"name":"ControllerConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_controller","type":"address"}],"name":"ControllerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"msgSender","type":"address"},{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"decrement","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAllowance","type":"uint256"}],"name":"MinterAllowanceDecremented","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_msgSender","type":"address"},{"indexed":true,"internalType":"address","name":"_minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"_increment","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newAllowance","type":"uint256"}],"name":"MinterAllowanceIncremented","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_msgSender","type":"address"},{"indexed":true,"internalType":"address","name":"_minter","type":"address"},{"indexed":false,"internalType":"uint256","name":"_allowance","type":"uint256"}],"name":"MinterConfigured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldMinterManager","type":"address"},{"indexed":true,"internalType":"address","name":"_newMinterManager","type":"address"}],"name":"MinterManagerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_msgSender","type":"address"},{"indexed":true,"internalType":"address","name":"_minter","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"},{"internalType":"address","name":"_worker","type":"address"}],"name":"configureController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newAllowance","type":"uint256"}],"name":"configureMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_allowanceDecrement","type":"uint256"}],"name":"decrementMinterAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMinterManager","outputs":[{"internalType":"contract MinterManagementInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"getWorker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_allowanceIncrement","type":"uint256"}],"name":"incrementMinterAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"removeController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMinterManager","type":"address"}],"name":"setMinterManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b0000000000000000000000000000000000000000000000000000000000000000010001c39c4bb0f7f9109169a295d18e4bee40718495a53361f3fc870cab937800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000dc03502e41d67bbb30c1862b8010e460368993bb
Deployed Bytecode
0x000100000000000200060000000000020000008004000039000000400040043f000000000500041600000000030100190000006003300270000001870330019700000001002001900000001c0000c13d000000000005004b000005720000c13d000000040030008c000005720000413d000000000401043b000000e0024002700000018c0040009c0000004a0000813d000001a90020009c000000e80000a13d000001aa0020009c0000010d0000613d000001ab0020009c000001370000613d000001ac0020009c000005720000c13d00000002010000390000016d0000013d000000000005004b000005720000c13d0000001f0530018f00000188063001980000008002600039000000270000613d000000000701034f000000007807043c0000000004840436000000000024004b000000230000c13d000000000005004b000000340000613d000000000161034f0000000304500210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001204350000008001300039000000400010043f000000200030008c000005720000413d00000000010004110000018901100197000000000200041a0000018a02200197000000000112019f000000800200043d000000000010041b00000189012001970000000202000039000000000302041a0000018a03300197000000000113019f000000000012041b0000002001000039000001000010044300000120000004430000018b01000041000006190001042e0000018d0020009c000000ab0000213d000001910020009c000001630000613d000001920020009c0000019f0000613d000001930020009c000005720000c13d000000240230008a000001c00020009c000005720000813d0000000401100370000000000101043b000600000001001d00000000010004110000018901100197000500000001001d000000000010043f0000000101000039000000200010043f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039061806130000040f0000000100200190000005720000613d0000000602000029000000000101043b000000000101041a0000018906100198000001850000613d000000400100043d0000000000210435000000400200043d00000000012100490000002001100039000001870010009c00000187010080410000006001100210000001870020009c00000187020080410000004002200210000000000121019f0000000002000414000001870020009c0000018702008041000000c002200210000000000121019f00000195011001c70000800d020000390000000303000039000001a3040000410000000505000029000500000006001d0618060e0000040f0000000100200190000005720000613d0000000201000039000000000101041a000000400400043d000000240240003900000006030000290000000000320435000001a4020000410000000000240435000400000004001d000000040240003900000005030000290000000000320435000000400200043d000600000002001d000001a10200004100000000002004430000018901100197000500000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000502000029000000040020008c000003790000c13d0000000003000031000003a90000013d0000018e0020009c000001720000613d0000018f0020009c000001b90000613d000001900020009c000005720000c13d000000240230008a000001c00020009c000005720000813d000000000200041a0000000003000411000000000223013f0000000401100370000000000101043b0000018900200198000001d20000c13d0000018901100198000001ad0000613d000600000001001d000000000010043f0000000101000039000000200010043f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039061806130000040f0000000100200190000005720000613d000000400200043d000000000101043b000000000301041a0000018900300198000002940000c13d00000064012000390000019703000041000000000031043500000044012000390000019803000041000000000031043500000024012000390000002103000039000000000031043500000199010000410000000000120435000000040120003900000020030000390000000000310435000000400100043d00000000021200490000008402200039000001870020009c00000187020080410000006002200210000001870010009c00000187010080410000004001100210000000000112019f0000061a00010430000001ad0020009c000001390000613d000001ae0020009c000005720000c13d000000240230008a000001c00020009c000005720000813d000000000200041a0000000003000411000000000223013f0000000401100370000000000101043b0000018900200198000001d20000c13d00000189061001970000000201000039000000000101041a0000000002000414000001870020009c00000187020080410000018905100197000000c001200210000001b8011001c70000800d020000390000000303000039000001b904000041000600000006001d0618060e0000040f0000000100200190000005720000613d0000000203000039000000000103041a0000018a0110019700000006011001af000000000013041b0000000001000019000006190001042e000000240230008a000001c00020009c000005720000813d0000000401100370000000000101043b000600000001001d00000000010004110000018901100197000500000001001d000000000010043f0000000101000039000000200010043f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039061806130000040f0000000100200190000005720000613d000000000101043b000000000101041a0000018905100198000001850000613d000000400100043d00000024041000390000000402100039000000060000006b000002310000c13d00000199030000410000000000310435000000200300003900000000003204350000002a0200003900000000002404350000006402100039000001b40300004100000000003204350000004402100039000001b503000041000001930000013d000000000100041a0000016e0000013d000000240230008a000001c00020009c000005720000813d0000000401100370000000000101043b000600000001001d00000000010004110000018901100197000500000001001d000000000010043f0000000101000039000000200010043f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039061806130000040f0000000100200190000005720000613d000000000101043b000000000101041a0000018905100198000001850000613d000000400100043d00000024041000390000000402100039000000060000006b000002510000c13d00000199030000410000000000310435000000200300003900000000003204350000002a0200003900000000002404350000006402100039000001b40300004100000000003204350000004402100039000001bd03000041000001930000013d000000240230008a000001c00020009c000005720000813d0000000401100370000000000101043b0000018901100197000000000010043f0000000101000039000000200010043f061806010000040f000000000101041a0000018901100197000000800010043f000001a801000041000006190001042e00000000010004110000018901100197000600000001001d000000000010043f0000000101000039000000200010043f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039061806130000040f0000000100200190000005720000613d000000000101043b000000000101041a0000018906100198000001db0000c13d000000400100043d0000006402100039000001be0300004100000000003204350000004402100039000001bf03000041000000000032043500000024021000390000003503000039000000000032043500000199020000410000000000210435000000040210003900000020030000390000000000320435000000400200043d00000000012100490000008401100039000001870010009c00000187010080410000006001100210000001870020009c00000187020080410000004002200210000000000121019f0000061a00010430000000440230008a000001c10020009c000005720000813d000000000200041a0000000003000411000000000323013f0000002402100370000000000202043b0000000401100370000000000101043b0000018900300198000001d20000c13d00000189031001980000020f0000c13d0000019901000041000000800010043f0000002001000039000000840010043f0000002501000039000000a40010043f000001a601000041000000c40010043f000001a701000041000000e40010043f0000019e010000410000061a00010430000000240230008a000001c00020009c000005720000813d0000000401100370000000000201043b00000000010004110000018901100197000000000300041a0000018903300197000000000031004b000001d20000c13d00000189022001980000021d0000c13d0000019901000041000000800010043f0000002001000039000000840010043f0000002601000039000000a40010043f0000019c01000041000000c40010043f0000019d01000041000000e40010043f0000019e010000410000061a000104300000019901000041000000800010043f0000002001000039000000840010043f000000a40010043f000001b601000041000000c40010043f000001b7010000410000061a00010430000000400100043d000001870010009c000001870100804100000040011002100000000002000414000001870020009c0000018702008041000000c002200210000000000112019f00000195011001c70000800d0200003900000003030000390000019f040000410000000605000029000600000006001d0618060e0000040f0000000100200190000005720000613d0000000201000039000000000101041a000000400300043d000001a0020000410000000000230435000400000003001d000000040230003900000006030000290000000000320435000000400200043d000600000002001d000001a10200004100000000002004430000018901100197000500000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000502000029000000040020008c000002a80000c13d0000000003000031000002d80000013d0000018901200198000002710000c13d0000019901000041000000800010043f0000002001000039000000840010043f0000002101000039000000a40010043f0000019801000041000000c40010043f0000019701000041000000e40010043f0000019e010000410000061a00010430000000800010043f000600000002001d000000a00020043f0000000001000414000001870010009c0000018701008041000000c0011002100000019a011001c70000800d0200003900000001030000390000019b040000410618060e0000040f0000000100200190000005720000613d000000000100041a0000018a0110019700000006011001af000000000010041b0000000001000019000006190001042e000200000004001d0000000203000039000000000303041a000001af040000410000000000410435000100000005001d0000000000520435000000400100043d000300000001001d000001a10100004100000000001004430000018901300197000400000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000404000029000000040040008c000002db0000c13d00000000030000310000030a0000013d000200000004001d0000000203000039000000000303041a000001af040000410000000000410435000100000005001d0000000000520435000000400100043d000300000001001d000001a10100004100000000001004430000018901300197000400000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000404000029000000040040008c0000031e0000c13d00000000030000310000034d0000013d000600000001001d000000000030043f0000000101000039000000200010043f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039000500000003001d061806130000040f0000000100200190000005720000613d000000000101043b000000000201041a0000018a022001970000000606000029000000000262019f000000000021041b000000400100043d000001870010009c000001870100804100000040011002100000000002000414000001870020009c0000018702008041000000c002200210000000000112019f00000195011001c70000800d020000390000000303000039000001a5040000410000000505000029000002a30000013d0000018a03300197000000000031041b000001870020009c000001870200804100000040012002100000000002000414000001870020009c0000018702008041000000c002200210000000000112019f00000195011001c70000800d020000390000000203000039000001960400004100000006050000290618060e0000040f0000000100200190000005720000613d0000000001000019000006190001042e000000060500002900000004035000690000002404300039000001870050009c000001870300004100000000030540190000004003300210000001870040009c00000187040080410000006004400210000000000334019f000001870010009c0000018701008041000000c001100210000000000131019f0618060e0000040f0000000609000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000002c80000613d000000000701034f000000007807043c0000000009890436000000000049004b000002c40000c13d000000000005004b000002d50000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003610000613d000000200030008c000003ab0000813d000005720000013d00000003030000290000000202300069000001870030009c00000187030080410000004003300210000001870020009c00000187020080410000006002200210000000000232019f000001870010009c0000018701008041000000c001100210000000000121019f0000000002040019061806130000040f0000000309000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000002fa0000613d000000000701034f000000007807043c0000000009890436000000000049004b000002f60000c13d000000000005004b000003070000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003bc0000613d000000200030008c000005720000413d000000400100043d000000240410003900000004021000390000000003010433000000000003004b000004040000c13d0000019903000041000000000031043500000020030000390000000000320435000000390200003900000000002404350000006402100039000001b20300004100000000003204350000004402100039000001b303000041000001930000013d00000003030000290000000202300069000001870030009c00000187030080410000004003300210000001870020009c00000187020080410000006002200210000000000232019f000001870010009c0000018701008041000000c001100210000000000121019f0000000002040019061806130000040f0000000309000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f000000200640019000000000046900190000033d0000613d000000000701034f000000007807043c0000000009890436000000000049004b000003390000c13d000000000005004b0000034a0000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003d40000613d000000200030008c000005720000413d000000400100043d000000240410003900000004021000390000000003010433000000000003004b000004240000c13d0000019903000041000000000031043500000020030000390000000000320435000000390200003900000000002404350000006402100039000001b20300004100000000003204350000004402100039000001bc03000041000001930000013d0000001f0430018f00000188023001980000036a0000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000003660000c13d000000000004004b000003770000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a00010430000000060500002900000004035000690000004404300039000001870050009c000001870300004100000000030540190000004003300210000001870040009c00000187040080410000006004400210000000000334019f000001870010009c0000018701008041000000c001100210000000000131019f0618060e0000040f0000000609000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000003990000613d000000000701034f000000007807043c0000000009890436000000000049004b000003950000c13d000000000005004b000003a60000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003ec0000613d0000001f0030008c000005720000a13d000000400100043d0000000002010433000000000002004b0000000002000039000000010200c0390000000000210435000000400200043d00000000012100490000002001100039000001870010009c00000187010080410000006001100210000001870020009c00000187020080410000004002200210000000000121019f000006190001042e0000001f0430018f0000018802300198000003c50000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000003c10000c13d000000000004004b000003d20000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a000104300000001f0430018f0000018802300198000003dd0000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000003d90000c13d000000000004004b000003ea0000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a000104300000001f0430018f0000018802300198000003f50000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000003f10000c13d000000000004004b000004020000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a00010430000200000004001d0000000203000039000000000303041a000001b004000041000000000041043500000001010000290000000000120435000000400100043d000300000001001d000001a10100004100000000001004430000018901300197000400000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000402000029000000040020008c000004440000c13d0000000003000031000004730000013d000200000004001d0000000203000039000000000303041a000001b004000041000000000041043500000001010000290000000000120435000000400100043d000300000001001d000001a10100004100000000001004430000018901300197000400000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000402000029000000040020008c000005010000c13d0000000003000031000005300000013d00000003030000290000000202300069000001870030009c00000187030080410000004003300210000001870020009c00000187020080410000006002200210000000000232019f000001870010009c0000018701008041000000c001100210000000000121019f0000000402000029061806130000040f0000000309000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000004630000613d000000000701034f000000007807043c0000000009890436000000000049004b0000045f0000c13d000000000005004b000004700000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000005750000613d000000200030008c000005720000413d000000400100043d0000000032010434000000060020006c0000000604000029000000000402401900000000004104350000000002420049000600000002001d0000000000230435000000400200043d00000000012100490000004001100039000001870010009c00000187010080410000006001100210000001870020009c00000187020080410000004002200210000000000121019f0000000002000414000001870020009c0000018702008041000000c002200210000000000121019f00000195011001c70000800d020000390000000303000039000001b104000041000000050500002900000001060000290618060e0000040f0000000100200190000005720000613d0000000201000039000000000101041a000000400400043d000000240240003900000006030000290000000000320435000001a4020000410000000000240435000400000004001d000000040240003900000001030000290000000000320435000000400200043d000500000002001d000001a10200004100000000002004430000018901100197000600000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005720000613d00000000010004140000000602000029000000040020008c000000a90000613d000000050300002900000004023000690000004402200039000001870030009c00000187030080410000004003300210000001870020009c00000187020080410000006002200210000000000232019f000001870010009c0000018701008041000000c001100210000000000121019f00000006020000290618060e0000040f0000000509000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000004d90000613d000000000701034f000000007807043c0000000009890436000000000049004b000004d50000c13d000000000005004b000004e60000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003a90000c13d0000001f0430018f0000018802300198000004f20000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000004ee0000c13d000000000004004b000004ff0000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a0001043000000003030000290000000202300069000001870030009c00000187030080410000004003300210000001870020009c00000187020080410000006002200210000000000232019f000001870010009c0000018701008041000000c001100210000000000121019f0000000402000029061806130000040f0000000309000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000005200000613d000000000701034f000000007807043c0000000009890436000000000049004b0000051c0000c13d000000000005004b0000052d0000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f00000001002001900000058d0000613d000000200030008c000005720000413d000000400100043d0000000023010434000000060030002a000005f10000413d00000006040000290000000003430019000400000003001d00000000003204350000000000410435000000400200043d00000000012100490000004001100039000001870010009c00000187010080410000006001100210000001870020009c00000187020080410000004002200210000000000121019f0000000002000414000001870020009c0000018702008041000000c002200210000000000121019f00000195011001c70000800d020000390000000303000039000001ba04000041000000050500002900000001060000290618060e0000040f0000000100200190000005720000613d0000000201000039000000000101041a000000400400043d000000240240003900000004030000290000000000320435000001a4020000410000000000240435000400000004001d000000040240003900000001030000290000000000320435000000400200043d000500000002001d000001a10200004100000000002004430000018901100197000600000001001d00000004001004430000000001000414000001870010009c0000018701008041000000c001100210000001a2011001c70000800202000039061806130000040f0000000100200190000005740000613d000000000101043b000000000001004b000005a50000c13d00000000010000190000061a00010430000000000001042f0000001f0430018f00000188023001980000057e0000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b0000057a0000c13d000000000004004b0000058b0000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a000104300000001f0430018f0000018802300198000005960000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000005920000c13d000000000004004b000005a30000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a0001043000000000010004140000000602000029000000040020008c000000a90000613d000000050300002900000004023000690000004402200039000001870030009c00000187030080410000004003300210000001870020009c00000187020080410000006002200210000000000232019f000001870010009c0000018701008041000000c001100210000000000121019f00000006020000290618060e0000040f0000000509000029000000000301001900000060033002700000018703300197000000200030008c000000200400003900000000040340190000001f0540018f00000020064001900000000004690019000005c90000613d000000000701034f000000007807043c0000000009890436000000000049004b000005c50000c13d000000000005004b000005d60000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000000000003001f0000000100200190000003a90000c13d0000001f0430018f0000018802300198000005e20000613d000000000501034f0000000006000019000000005705043c0000000006760436000000000026004b000005de0000c13d000000000004004b000005ef0000613d000000000121034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000012043500000060013002100000061a000104300000004402100039000001bb03000041000000000032043500000024021000390000001b03000039000000000032043500000199020000410000000000210435000000040210003900000020030000390000000000320435000000400200043d00000000012100490000006401100039000001970000013d000000000001042f0000000001000414000001870010009c0000018701008041000000c00110021000000194011001c70000801002000039061806130000040f00000001002001900000060c0000613d000000000101043b000000000001042d00000000010000190000061a0001043000000611002104210000000102000039000000000001042d0000000002000019000000000001042d00000616002104230000000102000039000000000001042d0000000002000019000000000001042d0000061800000432000006190001042e0000061a00010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000200000000000000000000000000000040000001000000000000000000c011b1c30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ea72156800000000000000000000000000000000000000000000000000000000ea72156900000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f6a74ed700000000000000000000000000000000000000000000000000000000c011b1c300000000000000000000000000000000000000000000000000000000c4faf7df00000000000000000000000000000000000000000000000000000000cbf2b8bf0200000000000000000000000000000000000040000000000000000000000000020000000000000000000000000000000000000000000000000000000000000033d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e811137300000000000000000000000000000000000000000000000000000000000000576f726b6572206d7573742062652061206e6f6e2d7a65726f2061646472657308c379a00000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000400000008000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e04f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000840000008000000000000000004b5ef9a786cf64a7d82ebcf2d5132667edc9faef4ac36260d9a9e52c526b62323092afd5000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000005b0b60a4f757b33d9dcb8bd021b6aa371bb2e6f134086797aefcd8c0afab538c4e44d95600000000000000000000000000000000000000000000000000000000a56687ff5096e83f6e2c673cda0b677f56bbfcdf5fe0555d5830c407ede193cb436f6e74726f6c6c6572206d7573742062652061206e6f6e2d7a65726f20616464726573730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000000000007c6b8ef4000000000000000000000000000000000000000000000000000000007c6b8ef5000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000009398608b0000000000000000000000000000000000000000000000000000000033db2ad200000000000000000000000000000000000000000000000000000000542fef91aa271e1a000000000000000000000000000000000000000000000000000000008a6db9c3000000000000000000000000000000000000000000000000000000003cc75d3bf58b0100659088c03539964108d5d06342e1bd8085ee43ad8ff6f69a206d696e7465727320696e206d696e7465724d616e616765720000000000000043616e206f6e6c792064656372656d656e7420616c6c6f77616e636520666f72746572207468616e203000000000000000000000000000000000000000000000416c6c6f77616e63652064656372656d656e74206d75737420626520677265614f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572000000000000000000000000000000000000006400000080000000000000000002000000000000000000000000000000000000000000008000000000000000009992ea32e96992be98be5c833cd5b9fd77314819d2146b6f06ab9cfef957af123703d23abba1e61f32acc0682fc062ea5c710672c7d100af5ecd08485e983ad0536166654d6174683a206164646974696f6e206f766572666c6f77000000000043616e206f6e6c7920696e6372656d656e7420616c6c6f77616e636520666f72416c6c6f77616e636520696e6372656d656e74206d75737420626520677265616465725d206d757374206265206e6f6e2d7a65726f00000000000000000000005468652076616c7565206f6620636f6e74726f6c6c6572735b6d73672e73656effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00c59922483764f113f969c8a3625738acfe840ad63c91b8a137f3ad92bba1d37
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000dc03502e41d67bbb30c1862b8010e460368993bb
-----Decoded View---------------
Arg [0] : _minterManager (address): 0xDc03502e41D67BBB30c1862b8010E460368993bb
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000dc03502e41d67bbb30c1862b8010e460368993bb
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.