Files
DLE/backend/artifacts/build-info/5f658ec7c83a39083e0b58539865c835.json

1 line
952 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"id":"5f658ec7c83a39083e0b58539865c835","_format":"hh-sol-build-info-1","solcVersion":"0.8.20","solcLongVersion":"0.8.20+commit.a1b79de6","input":{"language":"Solidity","sources":{"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol)\npragma solidity >=0.8.4;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n"},"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /// @inheritdoc IERC20\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /// @inheritdoc IERC20\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /// @inheritdoc IERC20\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n"},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n"},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n"},"@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"@openzeppelin/contracts/utils/ReentrancyGuard.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,\n * consider using {ReentrancyGuardTransient} instead.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n */\nabstract contract ReentrancyGuard {\n // Booleans are more expensive than uint256 or any type that takes up a full\n // word because each write operation emits an extra SLOAD to first read the\n // slot's contents, replace the bits taken up by the boolean, and then write\n // back. This is the compiler's defense against contract upgrades and\n // pointer aliasing, and it cannot be disabled.\n\n // The values being non-zero value makes deployment a bit more expensive,\n // but in exchange the refund on every call to nonReentrant will be lower in\n // amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to\n // increase the likelihood of the full refund coming into effect.\n uint256 private constant NOT_ENTERED = 1;\n uint256 private constant ENTERED = 2;\n\n uint256 private _status;\n\n /**\n * @dev Unauthorized reentrant call.\n */\n error ReentrancyGuardReentrantCall();\n\n constructor() {\n _status = NOT_ENTERED;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant`\n * function is not supported. It is possible to prevent this from happening\n * by making the `nonReentrant` function external, and making it call a\n * `private` function that does the actual work.\n */\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n function _nonReentrantBefore() private {\n // On the first call to nonReentrant, _status will be NOT_ENTERED\n if (_status == ENTERED) {\n revert ReentrancyGuardReentrantCall();\n }\n\n // Any calls to nonReentrant after this point will fail\n _status = ENTERED;\n }\n\n function _nonReentrantAfter() private {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _status = NOT_ENTERED;\n }\n\n /**\n * @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n * `nonReentrant` function in the call stack.\n */\n function _reentrancyGuardEntered() internal view returns (bool) {\n return _status == ENTERED;\n }\n}\n"},"contracts/DLE.sol":{"content":"// SPDX-License-Identifier: PROPRIETARY AND MIT\n// Copyright (c) 2024-2025 Тарабанов Александр Викторович\n// All rights reserved.\n//\n// This software is proprietary and confidential.\n// Unauthorized copying, modification, or distribution is prohibited.\n//\n// For licensing inquiries: info@hb3-accelerator.com\n// Website: https://hb3-accelerator.com\n// GitHub: https://github.com/HB3-ACCELERATOR\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\n\n/**\n * @title DLE (Digital Legal Entity)\n * @dev Основной контракт DLE с модульной архитектурой и мульти-чейн поддержкой\n */\ncontract DLE is ERC20, ReentrancyGuard {\n struct DLEInfo {\n string name;\n string symbol;\n string location;\n string coordinates;\n uint256 jurisdiction;\n uint256 oktmo;\n string[] okvedCodes;\n uint256 kpp;\n uint256 creationTimestamp;\n bool isActive;\n }\n\n struct DLEConfig {\n string name;\n string symbol;\n string location;\n string coordinates;\n uint256 jurisdiction;\n uint256 oktmo;\n string[] okvedCodes;\n uint256 kpp;\n uint256 quorumPercentage;\n address[] initialPartners;\n uint256[] initialAmounts;\n uint256[] supportedChainIds; // Поддерживаемые цепочки\n }\n\n struct Proposal {\n uint256 id;\n string description;\n uint256 forVotes;\n uint256 againstVotes;\n bool executed;\n uint256 deadline;\n address initiator;\n bytes operation; // Операция для исполнения\n mapping(address => bool) hasVoted;\n mapping(uint256 => bool) chainVoteSynced; // Синхронизация голосов между цепочками\n }\n\n struct MultiSigOperation {\n bytes32 operationHash;\n uint256 forSignatures;\n uint256 againstSignatures;\n bool executed;\n uint256 deadline;\n address initiator;\n mapping(address => bool) hasSigned;\n mapping(uint256 => bool) chainSignSynced; // Синхронизация подписей между цепочками\n }\n\n // Основные настройки\n DLEInfo public dleInfo;\n uint256 public quorumPercentage;\n uint256 public proposalCounter;\n uint256 public multiSigCounter;\n uint256 public currentChainId;\n\n // Модули\n mapping(bytes32 => address) public modules;\n mapping(bytes32 => bool) public activeModules;\n\n // Предложения и мультиподписи\n mapping(uint256 => Proposal) public proposals;\n mapping(uint256 => MultiSigOperation) public multiSigOperations;\n\n // Мульти-чейн\n mapping(uint256 => bool) public supportedChains;\n mapping(uint256 => bool) public executedProposals; // Синхронизация исполненных предложений\n mapping(uint256 => bool) public executedMultiSig; // Синхронизация исполненных мультиподписей\n\n // События\n event DLEInitialized(\n string name,\n string symbol,\n string location,\n string coordinates,\n uint256 jurisdiction,\n uint256 oktmo,\n string[] okvedCodes,\n uint256 kpp,\n address tokenAddress,\n uint256[] supportedChainIds\n );\n event InitialTokensDistributed(address[] partners, uint256[] amounts);\n event ProposalCreated(uint256 proposalId, address initiator, string description);\n event ProposalVoted(uint256 proposalId, address voter, bool support, uint256 votingPower);\n event ProposalExecuted(uint256 proposalId, bytes operation);\n event MultiSigOperationCreated(uint256 operationId, address initiator, bytes32 operationHash);\n event MultiSigSigned(uint256 operationId, address signer, bool support, uint256 signaturePower);\n event MultiSigExecuted(uint256 operationId, bytes32 operationHash);\n event ModuleAdded(bytes32 moduleId, address moduleAddress);\n event ModuleRemoved(bytes32 moduleId);\n event CrossChainExecutionSync(uint256 proposalId, uint256 fromChainId, uint256 toChainId);\n event CrossChainVoteSync(uint256 proposalId, uint256 fromChainId, uint256 toChainId);\n event CrossChainMultiSigSync(uint256 operationId, uint256 fromChainId, uint256 toChainId);\n\n constructor(\n DLEConfig memory config,\n uint256 _currentChainId\n ) ERC20(config.name, config.symbol) {\n dleInfo = DLEInfo({\n name: config.name,\n symbol: config.symbol,\n location: config.location,\n coordinates: config.coordinates,\n jurisdiction: config.jurisdiction,\n oktmo: config.oktmo,\n okvedCodes: config.okvedCodes,\n kpp: config.kpp,\n creationTimestamp: block.timestamp,\n isActive: true\n });\n \n quorumPercentage = config.quorumPercentage;\n currentChainId = _currentChainId;\n\n // Настраиваем поддерживаемые цепочки\n for (uint256 i = 0; i < config.supportedChainIds.length; i++) {\n supportedChains[config.supportedChainIds[i]] = true;\n }\n\n // Распределяем начальные токены партнерам\n require(config.initialPartners.length == config.initialAmounts.length, \"Arrays length mismatch\");\n require(config.initialPartners.length > 0, \"No initial partners\");\n \n for (uint256 i = 0; i < config.initialPartners.length; i++) {\n require(config.initialPartners[i] != address(0), \"Zero address\");\n require(config.initialAmounts[i] > 0, \"Zero amount\");\n _mint(config.initialPartners[i], config.initialAmounts[i]);\n }\n \n emit InitialTokensDistributed(config.initialPartners, config.initialAmounts);\n emit DLEInitialized(\n config.name,\n config.symbol,\n config.location,\n config.coordinates,\n config.jurisdiction,\n config.oktmo,\n config.okvedCodes,\n config.kpp,\n address(this),\n config.supportedChainIds\n );\n }\n\n /**\n * @dev Создать предложение с выбором цепочки для кворума\n * @param _description Описание предложения\n * @param _duration Длительность голосования в секундах\n * @param _operation Операция для исполнения\n * @param _governanceChainId ID цепочки для сбора голосов\n */\n function createProposal(\n string memory _description, \n uint256 _duration,\n bytes memory _operation,\n uint256 _governanceChainId\n ) external returns (uint256) {\n require(balanceOf(msg.sender) > 0, \"Must hold tokens to create proposal\");\n require(_duration > 0, \"Duration must be positive\");\n require(supportedChains[_governanceChainId], \"Chain not supported\");\n require(checkChainConnection(_governanceChainId), \"Chain not available\");\n\n uint256 proposalId = proposalCounter++;\n Proposal storage proposal = proposals[proposalId];\n \n proposal.id = proposalId;\n proposal.description = _description;\n proposal.forVotes = 0;\n proposal.againstVotes = 0;\n proposal.executed = false;\n proposal.deadline = block.timestamp + _duration;\n proposal.initiator = msg.sender;\n proposal.operation = _operation;\n\n emit ProposalCreated(proposalId, msg.sender, _description);\n return proposalId;\n }\n\n /**\n * @dev Голосовать за предложение\n * @param _proposalId ID предложения\n * @param _support Поддержка предложения\n */\n function vote(uint256 _proposalId, bool _support) external nonReentrant {\n Proposal storage proposal = proposals[_proposalId];\n require(proposal.id == _proposalId, \"Proposal does not exist\");\n require(block.timestamp < proposal.deadline, \"Voting ended\");\n require(!proposal.executed, \"Proposal already executed\");\n require(!proposal.hasVoted[msg.sender], \"Already voted\");\n require(balanceOf(msg.sender) > 0, \"No tokens to vote\");\n\n uint256 votingPower = balanceOf(msg.sender);\n proposal.hasVoted[msg.sender] = true;\n\n if (_support) {\n proposal.forVotes += votingPower;\n } else {\n proposal.againstVotes += votingPower;\n }\n\n emit ProposalVoted(_proposalId, msg.sender, _support, votingPower);\n }\n\n /**\n * @dev Синхронизировать голос из другой цепочки\n * @param _proposalId ID предложения\n * @param _fromChainId ID цепочки откуда синхронизируем\n * @param _forVotes Голоса за\n * @param _againstVotes Голоса против\n */\n function syncVoteFromChain(\n uint256 _proposalId,\n uint256 _fromChainId,\n uint256 _forVotes,\n uint256 _againstVotes,\n bytes memory /* _proof */\n ) external {\n Proposal storage proposal = proposals[_proposalId];\n require(proposal.id == _proposalId, \"Proposal does not exist\");\n require(supportedChains[_fromChainId], \"Chain not supported\");\n require(!proposal.chainVoteSynced[_fromChainId], \"Already synced\");\n\n // Здесь должна быть проверка proof (для простоты пропускаем)\n // В реальной реализации нужно проверять доказательство\n\n proposal.forVotes += _forVotes;\n proposal.againstVotes += _againstVotes;\n proposal.chainVoteSynced[_fromChainId] = true;\n\n emit CrossChainVoteSync(_proposalId, _fromChainId, currentChainId);\n }\n\n /**\n * @dev Проверить результат предложения\n * @param _proposalId ID предложения\n * @return passed Прошло ли предложение\n * @return quorumReached Достигнут ли кворум\n */\n function checkProposalResult(uint256 _proposalId) public view returns (bool passed, bool quorumReached) {\n Proposal storage proposal = proposals[_proposalId];\n require(proposal.id == _proposalId, \"Proposal does not exist\");\n\n uint256 totalVotes = proposal.forVotes + proposal.againstVotes;\n uint256 quorumRequired = (totalSupply() * quorumPercentage) / 100;\n \n quorumReached = totalVotes >= quorumRequired;\n passed = quorumReached && proposal.forVotes > proposal.againstVotes;\n \n return (passed, quorumReached);\n }\n\n /**\n * @dev Исполнить предложение\n * @param _proposalId ID предложения\n */\n function executeProposal(uint256 _proposalId) external {\n Proposal storage proposal = proposals[_proposalId];\n require(proposal.id == _proposalId, \"Proposal does not exist\");\n require(!proposal.executed, \"Proposal already executed\");\n require(block.timestamp >= proposal.deadline, \"Voting not ended\");\n\n (bool passed, bool quorumReached) = checkProposalResult(_proposalId);\n require(passed && quorumReached, \"Proposal not passed\");\n\n proposal.executed = true;\n \n // Исполняем операцию\n _executeOperation(proposal.operation);\n \n emit ProposalExecuted(_proposalId, proposal.operation);\n }\n\n /**\n * @dev Создать мультиподпись операцию\n * @param _operationHash Хеш операции\n * @param _duration Длительность сбора подписей\n */\n function createMultiSigOperation(\n bytes32 _operationHash,\n uint256 _duration\n ) external returns (uint256) {\n require(balanceOf(msg.sender) > 0, \"Must hold tokens to create operation\");\n require(_duration > 0, \"Duration must be positive\");\n\n uint256 operationId = multiSigCounter++;\n MultiSigOperation storage operation = multiSigOperations[operationId];\n \n operation.operationHash = _operationHash;\n operation.forSignatures = 0;\n operation.againstSignatures = 0;\n operation.executed = false;\n operation.deadline = block.timestamp + _duration;\n operation.initiator = msg.sender;\n\n emit MultiSigOperationCreated(operationId, msg.sender, _operationHash);\n return operationId;\n }\n\n /**\n * @dev Подписать мультиподпись операцию\n * @param _operationId ID операции\n * @param _support Поддержка операции\n */\n function signMultiSigOperation(uint256 _operationId, bool _support) external nonReentrant {\n MultiSigOperation storage operation = multiSigOperations[_operationId];\n require(operation.operationHash != bytes32(0), \"Operation does not exist\");\n require(block.timestamp < operation.deadline, \"Signing ended\");\n require(!operation.executed, \"Operation already executed\");\n require(!operation.hasSigned[msg.sender], \"Already signed\");\n require(balanceOf(msg.sender) > 0, \"No tokens to sign\");\n\n uint256 signaturePower = balanceOf(msg.sender);\n operation.hasSigned[msg.sender] = true;\n\n if (_support) {\n operation.forSignatures += signaturePower;\n } else {\n operation.againstSignatures += signaturePower;\n }\n\n emit MultiSigSigned(_operationId, msg.sender, _support, signaturePower);\n }\n\n /**\n * @dev Синхронизировать мультиподпись из другой цепочки\n * @param _operationId ID операции\n * @param _fromChainId ID цепочки откуда синхронизируем\n * @param _forSignatures Подписи за\n * @param _againstSignatures Подписи против\n */\n function syncMultiSigFromChain(\n uint256 _operationId,\n uint256 _fromChainId,\n uint256 _forSignatures,\n uint256 _againstSignatures,\n bytes memory /* _proof */\n ) external {\n MultiSigOperation storage operation = multiSigOperations[_operationId];\n require(operation.operationHash != bytes32(0), \"Operation does not exist\");\n require(supportedChains[_fromChainId], \"Chain not supported\");\n require(!operation.chainSignSynced[_fromChainId], \"Already synced\");\n\n // Здесь должна быть проверка proof\n // В реальной реализации нужно проверять доказательство\n\n operation.forSignatures += _forSignatures;\n operation.againstSignatures += _againstSignatures;\n operation.chainSignSynced[_fromChainId] = true;\n\n emit CrossChainMultiSigSync(_operationId, _fromChainId, currentChainId);\n }\n\n /**\n * @dev Проверить результат мультиподписи\n * @param _operationId ID операции\n * @return passed Прошла ли операция\n * @return quorumReached Достигнут ли кворум\n */\n function checkMultiSigResult(uint256 _operationId) public view returns (bool passed, bool quorumReached) {\n MultiSigOperation storage operation = multiSigOperations[_operationId];\n require(operation.operationHash != bytes32(0), \"Operation does not exist\");\n\n uint256 totalSignatures = operation.forSignatures + operation.againstSignatures;\n uint256 quorumRequired = (totalSupply() * quorumPercentage) / 100;\n \n quorumReached = totalSignatures >= quorumRequired;\n passed = quorumReached && operation.forSignatures > operation.againstSignatures;\n \n return (passed, quorumReached);\n }\n\n /**\n * @dev Исполнить мультиподпись операцию\n * @param _operationId ID операции\n */\n function executeMultiSigOperation(uint256 _operationId) external {\n MultiSigOperation storage operation = multiSigOperations[_operationId];\n require(operation.operationHash != bytes32(0), \"Operation does not exist\");\n require(!operation.executed, \"Operation already executed\");\n require(block.timestamp >= operation.deadline, \"Signing not ended\");\n\n (bool passed, bool quorumReached) = checkMultiSigResult(_operationId);\n require(passed && quorumReached, \"Operation not passed\");\n\n operation.executed = true;\n \n emit MultiSigExecuted(_operationId, operation.operationHash);\n }\n\n /**\n * @dev Синхронизировать исполнение из другой цепочки\n * @param _proposalId ID предложения\n * @param _fromChainId ID цепочки откуда синхронизируем\n */\n function syncExecutionFromChain(\n uint256 _proposalId,\n uint256 _fromChainId,\n bytes memory /* _proof */\n ) external {\n require(supportedChains[_fromChainId], \"Chain not supported\");\n require(!executedProposals[_proposalId], \"Already executed\");\n\n // Здесь должна быть проверка proof\n // В реальной реализации нужно проверять доказательство\n\n executedProposals[_proposalId] = true;\n \n // Получаем операцию из предложения\n Proposal storage proposal = proposals[_proposalId];\n if (proposal.id == _proposalId) {\n _executeOperation(proposal.operation);\n }\n\n emit CrossChainExecutionSync(_proposalId, _fromChainId, currentChainId);\n }\n\n /**\n * @dev Проверить подключение к цепочке\n * @param _chainId ID цепочки\n * @return isAvailable Доступна ли цепочка\n */\n function checkChainConnection(uint256 _chainId) public view returns (bool isAvailable) {\n // В реальной реализации здесь должна быть проверка подключения\n // Для примера возвращаем true для поддерживаемых цепочек\n return supportedChains[_chainId];\n }\n\n /**\n * @dev Проверить все подключения перед синхронизацией\n * @param _proposalId ID предложения\n * @return allChainsReady Готовы ли все цепочки\n */\n function checkSyncReadiness(uint256 _proposalId) public view returns (bool allChainsReady) {\n Proposal storage proposal = proposals[_proposalId];\n require(proposal.id == _proposalId, \"Proposal does not exist\");\n \n // Проверяем все поддерживаемые цепочки\n for (uint256 i = 0; i < getSupportedChainCount(); i++) {\n uint256 chainId = getSupportedChainId(i);\n if (!checkChainConnection(chainId)) {\n return false;\n }\n }\n \n return true;\n }\n\n /**\n * @dev Синхронизация только при 100% готовности\n * @param _proposalId ID предложения\n */\n function syncToAllChains(uint256 _proposalId) external {\n require(checkSyncReadiness(_proposalId), \"Not all chains ready\");\n \n // Выполняем синхронизацию во все цепочки\n for (uint256 i = 0; i < getSupportedChainCount(); i++) {\n uint256 chainId = getSupportedChainId(i);\n syncToChain(_proposalId, chainId);\n }\n \n emit SyncCompleted(_proposalId);\n }\n\n /**\n * @dev Синхронизация в конкретную цепочку\n * @param _proposalId ID предложения\n * @param _chainId ID цепочки\n */\n function syncToChain(uint256 _proposalId, uint256 _chainId) internal {\n // В реальной реализации здесь будет вызов cross-chain bridge\n // Для примера просто эмитим событие\n emit CrossChainExecutionSync(_proposalId, currentChainId, _chainId);\n }\n\n /**\n * @dev Получить количество поддерживаемых цепочек\n */\n function getSupportedChainCount() public pure returns (uint256) {\n // В реальной реализации нужно хранить массив поддерживаемых цепочек\n // Для примера возвращаем 4 (Ethereum, Polygon, BSC, Arbitrum)\n return 4;\n }\n\n /**\n * @dev Получить ID поддерживаемой цепочки по индексу\n * @param _index Индекс цепочки\n */\n function getSupportedChainId(uint256 _index) public pure returns (uint256) {\n if (_index == 0) return 1; // Ethereum\n if (_index == 1) return 137; // Polygon\n if (_index == 2) return 56; // BSC\n if (_index == 3) return 42161; // Arbitrum\n revert(\"Invalid chain index\");\n }\n\n /**\n * @dev Исполнить операцию\n * @param _operation Операция для исполнения\n */\n function _executeOperation(bytes memory _operation) internal {\n // Декодируем операцию\n (bytes4 selector, bytes memory data) = abi.decode(_operation, (bytes4, bytes));\n \n if (selector == bytes4(keccak256(\"transfer(address,uint256)\"))) {\n // Операция передачи токенов\n (address to, uint256 amount) = abi.decode(data, (address, uint256));\n _transfer(msg.sender, to, amount);\n } else if (selector == bytes4(keccak256(\"mint(address,uint256)\"))) {\n // Операция минтинга токенов\n (address to, uint256 amount) = abi.decode(data, (address, uint256));\n _mint(to, amount);\n } else if (selector == bytes4(keccak256(\"burn(address,uint256)\"))) {\n // Операция сжигания токенов\n (address from, uint256 amount) = abi.decode(data, (address, uint256));\n _burn(from, amount);\n } else {\n // Неизвестная операция\n revert(\"Unknown operation\");\n }\n }\n\n /**\n * @dev Добавить модуль\n * @param _moduleId ID модуля\n * @param _moduleAddress Адрес модуля\n */\n function addModule(bytes32 _moduleId, address _moduleAddress) external {\n require(balanceOf(msg.sender) > 0, \"Must hold tokens to add module\");\n require(_moduleAddress != address(0), \"Zero address\");\n require(!activeModules[_moduleId], \"Module already exists\");\n\n modules[_moduleId] = _moduleAddress;\n activeModules[_moduleId] = true;\n\n emit ModuleAdded(_moduleId, _moduleAddress);\n }\n\n /**\n * @dev Удалить модуль\n * @param _moduleId ID модуля\n */\n function removeModule(bytes32 _moduleId) external {\n require(balanceOf(msg.sender) > 0, \"Must hold tokens to remove module\");\n require(activeModules[_moduleId], \"Module does not exist\");\n\n delete modules[_moduleId];\n activeModules[_moduleId] = false;\n\n emit ModuleRemoved(_moduleId);\n }\n\n /**\n * @dev Получить информацию о DLE\n */\n function getDLEInfo() external view returns (DLEInfo memory) {\n return dleInfo;\n }\n\n /**\n * @dev Проверить, активен ли модуль\n * @param _moduleId ID модуля\n */\n function isModuleActive(bytes32 _moduleId) external view returns (bool) {\n return activeModules[_moduleId];\n }\n\n /**\n * @dev Получить адрес модуля\n * @param _moduleId ID модуля\n */\n function getModuleAddress(bytes32 _moduleId) external view returns (address) {\n return modules[_moduleId];\n }\n\n /**\n * @dev Проверить, поддерживается ли цепочка\n * @param _chainId ID цепочки\n */\n function isChainSupported(uint256 _chainId) external view returns (bool) {\n return supportedChains[_chainId];\n }\n\n /**\n * @dev Получить текущий ID цепочки\n */\n function getCurrentChainId() external view returns (uint256) {\n return currentChainId;\n }\n\n // События для новых функций\n event SyncCompleted(uint256 proposalId);\n} "}},"settings":{"optimizer":{"enabled":true,"runs":200},"viaIR":true,"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","exportedSymbols":{"IERC1155Errors":[136],"IERC20Errors":[41],"IERC721Errors":[89]},"id":137,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.8",".4"],"nodeType":"PragmaDirective","src":"112:24:0"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"138:141:0","text":" @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens."},"fullyImplemented":true,"id":41,"linearizedBaseContracts":[41],"name":"IERC20Errors","nameLocation":"290:12:0","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"309:309:0","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"e450d38c","id":11,"name":"ERC20InsufficientBalance","nameLocation":"629:24:0","nodeType":"ErrorDefinition","parameters":{"id":10,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5,"mutability":"mutable","name":"sender","nameLocation":"662:6:0","nodeType":"VariableDeclaration","scope":11,"src":"654:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4,"name":"address","nodeType":"ElementaryTypeName","src":"654:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7,"mutability":"mutable","name":"balance","nameLocation":"678:7:0","nodeType":"VariableDeclaration","scope":11,"src":"670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6,"name":"uint256","nodeType":"ElementaryTypeName","src":"670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9,"mutability":"mutable","name":"needed","nameLocation":"695:6:0","nodeType":"VariableDeclaration","scope":11,"src":"687:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"653:49:0"},"src":"623:80:0"},{"documentation":{"id":12,"nodeType":"StructuredDocumentation","src":"709:152:0","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"96c6fd1e","id":16,"name":"ERC20InvalidSender","nameLocation":"872:18:0","nodeType":"ErrorDefinition","parameters":{"id":15,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14,"mutability":"mutable","name":"sender","nameLocation":"899:6:0","nodeType":"VariableDeclaration","scope":16,"src":"891:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13,"name":"address","nodeType":"ElementaryTypeName","src":"891:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"890:16:0"},"src":"866:41:0"},{"documentation":{"id":17,"nodeType":"StructuredDocumentation","src":"913:159:0","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"ec442f05","id":21,"name":"ERC20InvalidReceiver","nameLocation":"1083:20:0","nodeType":"ErrorDefinition","parameters":{"id":20,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19,"mutability":"mutable","name":"receiver","nameLocation":"1112:8:0","nodeType":"VariableDeclaration","scope":21,"src":"1104:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18,"name":"address","nodeType":"ElementaryTypeName","src":"1104:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1103:18:0"},"src":"1077:45:0"},{"documentation":{"id":22,"nodeType":"StructuredDocumentation","src":"1128:345:0","text":" @dev Indicates a failure with the `spender`s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"fb8f41b2","id":30,"name":"ERC20InsufficientAllowance","nameLocation":"1484:26:0","nodeType":"ErrorDefinition","parameters":{"id":29,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24,"mutability":"mutable","name":"spender","nameLocation":"1519:7:0","nodeType":"VariableDeclaration","scope":30,"src":"1511:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23,"name":"address","nodeType":"ElementaryTypeName","src":"1511:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26,"mutability":"mutable","name":"allowance","nameLocation":"1536:9:0","nodeType":"VariableDeclaration","scope":30,"src":"1528:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28,"mutability":"mutable","name":"needed","nameLocation":"1555:6:0","nodeType":"VariableDeclaration","scope":30,"src":"1547:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1510:52:0"},"src":"1478:85:0"},{"documentation":{"id":31,"nodeType":"StructuredDocumentation","src":"1569:174:0","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"e602df05","id":35,"name":"ERC20InvalidApprover","nameLocation":"1754:20:0","nodeType":"ErrorDefinition","parameters":{"id":34,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33,"mutability":"mutable","name":"approver","nameLocation":"1783:8:0","nodeType":"VariableDeclaration","scope":35,"src":"1775:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32,"name":"address","nodeType":"ElementaryTypeName","src":"1775:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1774:18:0"},"src":"1748:45:0"},{"documentation":{"id":36,"nodeType":"StructuredDocumentation","src":"1799:195:0","text":" @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"94280d62","id":40,"name":"ERC20InvalidSpender","nameLocation":"2005:19:0","nodeType":"ErrorDefinition","parameters":{"id":39,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38,"mutability":"mutable","name":"spender","nameLocation":"2033:7:0","nodeType":"VariableDeclaration","scope":40,"src":"2025:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37,"name":"address","nodeType":"ElementaryTypeName","src":"2025:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2024:17:0"},"src":"1999:43:0"}],"scope":137,"src":"280:1764:0","usedErrors":[11,16,21,30,35,40],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":42,"nodeType":"StructuredDocumentation","src":"2046:143:0","text":" @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens."},"fullyImplemented":true,"id":89,"linearizedBaseContracts":[89],"name":"IERC721Errors","nameLocation":"2200:13:0","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":43,"nodeType":"StructuredDocumentation","src":"2220:219:0","text":" @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n Used in balance queries.\n @param owner Address of the current owner of a token."},"errorSelector":"89c62b64","id":47,"name":"ERC721InvalidOwner","nameLocation":"2450:18:0","nodeType":"ErrorDefinition","parameters":{"id":46,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45,"mutability":"mutable","name":"owner","nameLocation":"2477:5:0","nodeType":"VariableDeclaration","scope":47,"src":"2469:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"2469:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2468:15:0"},"src":"2444:40:0"},{"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"2490:132:0","text":" @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token."},"errorSelector":"7e273289","id":52,"name":"ERC721NonexistentToken","nameLocation":"2633:22:0","nodeType":"ErrorDefinition","parameters":{"id":51,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50,"mutability":"mutable","name":"tokenId","nameLocation":"2664:7:0","nodeType":"VariableDeclaration","scope":52,"src":"2656:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49,"name":"uint256","nodeType":"ElementaryTypeName","src":"2656:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2655:17:0"},"src":"2627:46:0"},{"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"2679:289:0","text":" @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token."},"errorSelector":"64283d7b","id":61,"name":"ERC721IncorrectOwner","nameLocation":"2979:20:0","nodeType":"ErrorDefinition","parameters":{"id":60,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55,"mutability":"mutable","name":"sender","nameLocation":"3008:6:0","nodeType":"VariableDeclaration","scope":61,"src":"3000:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54,"name":"address","nodeType":"ElementaryTypeName","src":"3000:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57,"mutability":"mutable","name":"tokenId","nameLocation":"3024:7:0","nodeType":"VariableDeclaration","scope":61,"src":"3016:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56,"name":"uint256","nodeType":"ElementaryTypeName","src":"3016:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59,"mutability":"mutable","name":"owner","nameLocation":"3041:5:0","nodeType":"VariableDeclaration","scope":61,"src":"3033:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58,"name":"address","nodeType":"ElementaryTypeName","src":"3033:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2999:48:0"},"src":"2973:75:0"},{"documentation":{"id":62,"nodeType":"StructuredDocumentation","src":"3054:152:0","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"73c6ac6e","id":66,"name":"ERC721InvalidSender","nameLocation":"3217:19:0","nodeType":"ErrorDefinition","parameters":{"id":65,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64,"mutability":"mutable","name":"sender","nameLocation":"3245:6:0","nodeType":"VariableDeclaration","scope":66,"src":"3237:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63,"name":"address","nodeType":"ElementaryTypeName","src":"3237:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3236:16:0"},"src":"3211:42:0"},{"documentation":{"id":67,"nodeType":"StructuredDocumentation","src":"3259:159:0","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"64a0ae92","id":71,"name":"ERC721InvalidReceiver","nameLocation":"3429:21:0","nodeType":"ErrorDefinition","parameters":{"id":70,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"mutability":"mutable","name":"receiver","nameLocation":"3459:8:0","nodeType":"VariableDeclaration","scope":71,"src":"3451:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68,"name":"address","nodeType":"ElementaryTypeName","src":"3451:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3450:18:0"},"src":"3423:46:0"},{"documentation":{"id":72,"nodeType":"StructuredDocumentation","src":"3475:247:0","text":" @dev Indicates a failure with the `operator`s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token."},"errorSelector":"177e802f","id":78,"name":"ERC721InsufficientApproval","nameLocation":"3733:26:0","nodeType":"ErrorDefinition","parameters":{"id":77,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74,"mutability":"mutable","name":"operator","nameLocation":"3768:8:0","nodeType":"VariableDeclaration","scope":78,"src":"3760:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"3760:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76,"mutability":"mutable","name":"tokenId","nameLocation":"3786:7:0","nodeType":"VariableDeclaration","scope":78,"src":"3778:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75,"name":"uint256","nodeType":"ElementaryTypeName","src":"3778:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3759:35:0"},"src":"3727:68:0"},{"documentation":{"id":79,"nodeType":"StructuredDocumentation","src":"3801:174:0","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"a9fbf51f","id":83,"name":"ERC721InvalidApprover","nameLocation":"3986:21:0","nodeType":"ErrorDefinition","parameters":{"id":82,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"mutability":"mutable","name":"approver","nameLocation":"4016:8:0","nodeType":"VariableDeclaration","scope":83,"src":"4008:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4007:18:0"},"src":"3980:46:0"},{"documentation":{"id":84,"nodeType":"StructuredDocumentation","src":"4032:197:0","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"5b08ba18","id":88,"name":"ERC721InvalidOperator","nameLocation":"4240:21:0","nodeType":"ErrorDefinition","parameters":{"id":87,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86,"mutability":"mutable","name":"operator","nameLocation":"4270:8:0","nodeType":"VariableDeclaration","scope":88,"src":"4262:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85,"name":"address","nodeType":"ElementaryTypeName","src":"4262:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4261:18:0"},"src":"4234:46:0"}],"scope":137,"src":"2190:2092:0","usedErrors":[47,52,61,66,71,78,83,88],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1155Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":90,"nodeType":"StructuredDocumentation","src":"4284:145:0","text":" @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens."},"fullyImplemented":true,"id":136,"linearizedBaseContracts":[136],"name":"IERC1155Errors","nameLocation":"4440:14:0","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":91,"nodeType":"StructuredDocumentation","src":"4461:361:0","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token."},"errorSelector":"03dee4c5","id":101,"name":"ERC1155InsufficientBalance","nameLocation":"4833:26:0","nodeType":"ErrorDefinition","parameters":{"id":100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93,"mutability":"mutable","name":"sender","nameLocation":"4868:6:0","nodeType":"VariableDeclaration","scope":101,"src":"4860:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"4860:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95,"mutability":"mutable","name":"balance","nameLocation":"4884:7:0","nodeType":"VariableDeclaration","scope":101,"src":"4876:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94,"name":"uint256","nodeType":"ElementaryTypeName","src":"4876:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97,"mutability":"mutable","name":"needed","nameLocation":"4901:6:0","nodeType":"VariableDeclaration","scope":101,"src":"4893:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96,"name":"uint256","nodeType":"ElementaryTypeName","src":"4893:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":99,"mutability":"mutable","name":"tokenId","nameLocation":"4917:7:0","nodeType":"VariableDeclaration","scope":101,"src":"4909:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98,"name":"uint256","nodeType":"ElementaryTypeName","src":"4909:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4859:66:0"},"src":"4827:99:0"},{"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"4932:152:0","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"01a83514","id":106,"name":"ERC1155InvalidSender","nameLocation":"5095:20:0","nodeType":"ErrorDefinition","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"sender","nameLocation":"5124:6:0","nodeType":"VariableDeclaration","scope":106,"src":"5116:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":103,"name":"address","nodeType":"ElementaryTypeName","src":"5116:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5115:16:0"},"src":"5089:43:0"},{"documentation":{"id":107,"nodeType":"StructuredDocumentation","src":"5138:159:0","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"57f447ce","id":111,"name":"ERC1155InvalidReceiver","nameLocation":"5308:22:0","nodeType":"ErrorDefinition","parameters":{"id":110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":109,"mutability":"mutable","name":"receiver","nameLocation":"5339:8:0","nodeType":"VariableDeclaration","scope":111,"src":"5331:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":108,"name":"address","nodeType":"ElementaryTypeName","src":"5331:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5330:18:0"},"src":"5302:47:0"},{"documentation":{"id":112,"nodeType":"StructuredDocumentation","src":"5355:256:0","text":" @dev Indicates a failure with the `operator`s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token."},"errorSelector":"e237d922","id":118,"name":"ERC1155MissingApprovalForAll","nameLocation":"5622:28:0","nodeType":"ErrorDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":114,"mutability":"mutable","name":"operator","nameLocation":"5659:8:0","nodeType":"VariableDeclaration","scope":118,"src":"5651:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":113,"name":"address","nodeType":"ElementaryTypeName","src":"5651:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"owner","nameLocation":"5677:5:0","nodeType":"VariableDeclaration","scope":118,"src":"5669:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":115,"name":"address","nodeType":"ElementaryTypeName","src":"5669:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5650:33:0"},"src":"5616:68:0"},{"documentation":{"id":119,"nodeType":"StructuredDocumentation","src":"5690:174:0","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"3e31884e","id":123,"name":"ERC1155InvalidApprover","nameLocation":"5875:22:0","nodeType":"ErrorDefinition","parameters":{"id":122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":121,"mutability":"mutable","name":"approver","nameLocation":"5906:8:0","nodeType":"VariableDeclaration","scope":123,"src":"5898:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":120,"name":"address","nodeType":"ElementaryTypeName","src":"5898:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5897:18:0"},"src":"5869:47:0"},{"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"5922:197:0","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"ced3e100","id":128,"name":"ERC1155InvalidOperator","nameLocation":"6130:22:0","nodeType":"ErrorDefinition","parameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"operator","nameLocation":"6161:8:0","nodeType":"VariableDeclaration","scope":128,"src":"6153:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"6153:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6152:18:0"},"src":"6124:47:0"},{"documentation":{"id":129,"nodeType":"StructuredDocumentation","src":"6177:280:0","text":" @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts"},"errorSelector":"5b059991","id":135,"name":"ERC1155InvalidArrayLength","nameLocation":"6468:25:0","nodeType":"ErrorDefinition","parameters":{"id":134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":131,"mutability":"mutable","name":"idsLength","nameLocation":"6502:9:0","nodeType":"VariableDeclaration","scope":135,"src":"6494:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":130,"name":"uint256","nodeType":"ElementaryTypeName","src":"6494:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":133,"mutability":"mutable","name":"valuesLength","nameLocation":"6521:12:0","nodeType":"VariableDeclaration","scope":135,"src":"6513:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":132,"name":"uint256","nodeType":"ElementaryTypeName","src":"6513:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6493:41:0"},"src":"6462:73:0"}],"scope":137,"src":"4430:2107:0","usedErrors":[101,106,111,118,123,128,135],"usedEvents":[]}],"src":"112:6426:0"},"id":0},"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/ERC20.sol","exportedSymbols":{"Context":[785],"ERC20":[651],"IERC20":[729],"IERC20Errors":[41],"IERC20Metadata":[755]},"id":652,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":138,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"105:24:1"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","id":140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":730,"src":"131:36:1","symbolAliases":[{"foreign":{"id":139,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"139:6:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","id":142,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":756,"src":"168:63:1","symbolAliases":[{"foreign":{"id":141,"name":"IERC20Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":755,"src":"176:14:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":144,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":786,"src":"232:48:1","symbolAliases":[{"foreign":{"id":143,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":785,"src":"240:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","file":"../../interfaces/draft-IERC6093.sol","id":146,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":137,"src":"281:65:1","symbolAliases":[{"foreign":{"id":145,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"289:12:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":148,"name":"Context","nameLocations":["1133:7:1"],"nodeType":"IdentifierPath","referencedDeclaration":785,"src":"1133:7:1"},"id":149,"nodeType":"InheritanceSpecifier","src":"1133:7:1"},{"baseName":{"id":150,"name":"IERC20","nameLocations":["1142:6:1"],"nodeType":"IdentifierPath","referencedDeclaration":729,"src":"1142:6:1"},"id":151,"nodeType":"InheritanceSpecifier","src":"1142:6:1"},{"baseName":{"id":152,"name":"IERC20Metadata","nameLocations":["1150:14:1"],"nodeType":"IdentifierPath","referencedDeclaration":755,"src":"1150:14:1"},"id":153,"nodeType":"InheritanceSpecifier","src":"1150:14:1"},{"baseName":{"id":154,"name":"IERC20Errors","nameLocations":["1166:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":41,"src":"1166:12:1"},"id":155,"nodeType":"InheritanceSpecifier","src":"1166:12:1"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":147,"nodeType":"StructuredDocumentation","src":"348:757:1","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC-20\n applications."},"fullyImplemented":true,"id":651,"linearizedBaseContracts":[651,41,755,729,785],"name":"ERC20","nameLocation":"1124:5:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":159,"mutability":"mutable","name":"_balances","nameLocation":"1229:9:1","nodeType":"VariableDeclaration","scope":651,"src":"1185:53:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":158,"keyName":"account","keyNameLocation":"1201:7:1","keyType":{"id":156,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1185:35:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":157,"name":"uint256","nodeType":"ElementaryTypeName","src":"1212:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":165,"mutability":"mutable","name":"_allowances","nameLocation":"1317:11:1","nodeType":"VariableDeclaration","scope":651,"src":"1245:83:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":164,"keyName":"account","keyNameLocation":"1261:7:1","keyType":{"id":160,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1245:63:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":163,"keyName":"spender","keyNameLocation":"1288:7:1","keyType":{"id":161,"name":"address","nodeType":"ElementaryTypeName","src":"1280:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1272:35:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":162,"name":"uint256","nodeType":"ElementaryTypeName","src":"1299:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":167,"mutability":"mutable","name":"_totalSupply","nameLocation":"1351:12:1","nodeType":"VariableDeclaration","scope":651,"src":"1335:28:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":166,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":169,"mutability":"mutable","name":"_name","nameLocation":"1385:5:1","nodeType":"VariableDeclaration","scope":651,"src":"1370:20:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":168,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":171,"mutability":"mutable","name":"_symbol","nameLocation":"1411:7:1","nodeType":"VariableDeclaration","scope":651,"src":"1396:22:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":170,"name":"string","nodeType":"ElementaryTypeName","src":"1396:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":187,"nodeType":"Block","src":"1638:57:1","statements":[{"expression":{"id":181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":179,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"1648:5:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":180,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"1656:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1648:13:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":182,"nodeType":"ExpressionStatement","src":"1648:13:1"},{"expression":{"id":185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":183,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"1671:7:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":184,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"1681:7:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1671:17:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":186,"nodeType":"ExpressionStatement","src":"1671:17:1"}]},"documentation":{"id":172,"nodeType":"StructuredDocumentation","src":"1425:152:1","text":" @dev Sets the values for {name} and {symbol}.\n Both values are immutable: they can only be set once during construction."},"id":188,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":174,"mutability":"mutable","name":"name_","nameLocation":"1608:5:1","nodeType":"VariableDeclaration","scope":188,"src":"1594:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":173,"name":"string","nodeType":"ElementaryTypeName","src":"1594:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":176,"mutability":"mutable","name":"symbol_","nameLocation":"1629:7:1","nodeType":"VariableDeclaration","scope":188,"src":"1615:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":175,"name":"string","nodeType":"ElementaryTypeName","src":"1615:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1593:44:1"},"returnParameters":{"id":178,"nodeType":"ParameterList","parameters":[],"src":"1638:0:1"},"scope":651,"src":"1582:113:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[742],"body":{"id":196,"nodeType":"Block","src":"1820:29:1","statements":[{"expression":{"id":194,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"1837:5:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":193,"id":195,"nodeType":"Return","src":"1830:12:1"}]},"documentation":{"id":189,"nodeType":"StructuredDocumentation","src":"1701:54:1","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":197,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"1769:4:1","nodeType":"FunctionDefinition","parameters":{"id":190,"nodeType":"ParameterList","parameters":[],"src":"1773:2:1"},"returnParameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":192,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":197,"src":"1805:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":191,"name":"string","nodeType":"ElementaryTypeName","src":"1805:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1804:15:1"},"scope":651,"src":"1760:89:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[748],"body":{"id":205,"nodeType":"Block","src":"2024:31:1","statements":[{"expression":{"id":203,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"2041:7:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":202,"id":204,"nodeType":"Return","src":"2034:14:1"}]},"documentation":{"id":198,"nodeType":"StructuredDocumentation","src":"1855:102:1","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","id":206,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1971:6:1","nodeType":"FunctionDefinition","parameters":{"id":199,"nodeType":"ParameterList","parameters":[],"src":"1977:2:1"},"returnParameters":{"id":202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":206,"src":"2009:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":200,"name":"string","nodeType":"ElementaryTypeName","src":"2009:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2008:15:1"},"scope":651,"src":"1962:93:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[754],"body":{"id":214,"nodeType":"Block","src":"2744:26:1","statements":[{"expression":{"hexValue":"3138","id":212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2761:2:1","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":211,"id":213,"nodeType":"Return","src":"2754:9:1"}]},"documentation":{"id":207,"nodeType":"StructuredDocumentation","src":"2061:622:1","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","id":215,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2697:8:1","nodeType":"FunctionDefinition","parameters":{"id":208,"nodeType":"ParameterList","parameters":[],"src":"2705:2:1"},"returnParameters":{"id":211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":215,"src":"2737:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":209,"name":"uint8","nodeType":"ElementaryTypeName","src":"2737:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2736:7:1"},"scope":651,"src":"2688:82:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[678],"body":{"id":223,"nodeType":"Block","src":"2864:36:1","statements":[{"expression":{"id":221,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"2881:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":220,"id":222,"nodeType":"Return","src":"2874:19:1"}]},"documentation":{"id":216,"nodeType":"StructuredDocumentation","src":"2776:22:1","text":"@inheritdoc IERC20"},"functionSelector":"18160ddd","id":224,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2812:11:1","nodeType":"FunctionDefinition","parameters":{"id":217,"nodeType":"ParameterList","parameters":[],"src":"2823:2:1"},"returnParameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":224,"src":"2855:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":218,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2854:9:1"},"scope":651,"src":"2803:97:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[686],"body":{"id":236,"nodeType":"Block","src":"3007:42:1","statements":[{"expression":{"baseExpression":{"id":232,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"3024:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":234,"indexExpression":{"id":233,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":227,"src":"3034:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3024:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":231,"id":235,"nodeType":"Return","src":"3017:25:1"}]},"documentation":{"id":225,"nodeType":"StructuredDocumentation","src":"2906:22:1","text":"@inheritdoc IERC20"},"functionSelector":"70a08231","id":237,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2942:9:1","nodeType":"FunctionDefinition","parameters":{"id":228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":227,"mutability":"mutable","name":"account","nameLocation":"2960:7:1","nodeType":"VariableDeclaration","scope":237,"src":"2952:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":226,"name":"address","nodeType":"ElementaryTypeName","src":"2952:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2951:17:1"},"returnParameters":{"id":231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":237,"src":"2998:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":229,"name":"uint256","nodeType":"ElementaryTypeName","src":"2998:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2997:9:1"},"scope":651,"src":"2933:116:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[696],"body":{"id":260,"nodeType":"Block","src":"3319:103:1","statements":[{"assignments":[248],"declarations":[{"constant":false,"id":248,"mutability":"mutable","name":"owner","nameLocation":"3337:5:1","nodeType":"VariableDeclaration","scope":260,"src":"3329:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":247,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":251,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":249,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"3345:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3345:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3329:28:1"},{"expression":{"arguments":[{"id":253,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":248,"src":"3377:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":254,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"3384:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"3388:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":252,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"3367:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3367:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":257,"nodeType":"ExpressionStatement","src":"3367:27:1"},{"expression":{"hexValue":"74727565","id":258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3411:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":246,"id":259,"nodeType":"Return","src":"3404:11:1"}]},"documentation":{"id":238,"nodeType":"StructuredDocumentation","src":"3055:184:1","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `value`."},"functionSelector":"a9059cbb","id":261,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3253:8:1","nodeType":"FunctionDefinition","parameters":{"id":243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":240,"mutability":"mutable","name":"to","nameLocation":"3270:2:1","nodeType":"VariableDeclaration","scope":261,"src":"3262:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":239,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":242,"mutability":"mutable","name":"value","nameLocation":"3282:5:1","nodeType":"VariableDeclaration","scope":261,"src":"3274:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":241,"name":"uint256","nodeType":"ElementaryTypeName","src":"3274:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3261:27:1"},"returnParameters":{"id":246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"3313:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":244,"name":"bool","nodeType":"ElementaryTypeName","src":"3313:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3312:6:1"},"scope":651,"src":"3244:178:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[706],"body":{"id":277,"nodeType":"Block","src":"3544:51:1","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":271,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"3561:11:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":273,"indexExpression":{"id":272,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"3573:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:18:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":275,"indexExpression":{"id":274,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"3580:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":270,"id":276,"nodeType":"Return","src":"3554:34:1"}]},"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"3428:22:1","text":"@inheritdoc IERC20"},"functionSelector":"dd62ed3e","id":278,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3464:9:1","nodeType":"FunctionDefinition","parameters":{"id":267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":264,"mutability":"mutable","name":"owner","nameLocation":"3482:5:1","nodeType":"VariableDeclaration","scope":278,"src":"3474:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":263,"name":"address","nodeType":"ElementaryTypeName","src":"3474:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":266,"mutability":"mutable","name":"spender","nameLocation":"3497:7:1","nodeType":"VariableDeclaration","scope":278,"src":"3489:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":265,"name":"address","nodeType":"ElementaryTypeName","src":"3489:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3473:32:1"},"returnParameters":{"id":270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":278,"src":"3535:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":268,"name":"uint256","nodeType":"ElementaryTypeName","src":"3535:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3534:9:1"},"scope":651,"src":"3455:140:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[716],"body":{"id":301,"nodeType":"Block","src":"3981:107:1","statements":[{"assignments":[289],"declarations":[{"constant":false,"id":289,"mutability":"mutable","name":"owner","nameLocation":"3999:5:1","nodeType":"VariableDeclaration","scope":301,"src":"3991:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":288,"name":"address","nodeType":"ElementaryTypeName","src":"3991:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":292,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":290,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"4007:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4007:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3991:28:1"},{"expression":{"arguments":[{"id":294,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"4038:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":295,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":281,"src":"4045:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":296,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":283,"src":"4054:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":293,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[542,602],"referencedDeclaration":542,"src":"4029:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":298,"nodeType":"ExpressionStatement","src":"4029:31:1"},{"expression":{"hexValue":"74727565","id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4077:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":287,"id":300,"nodeType":"Return","src":"4070:11:1"}]},"documentation":{"id":279,"nodeType":"StructuredDocumentation","src":"3601:296:1","text":" @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","id":302,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3911:7:1","nodeType":"FunctionDefinition","parameters":{"id":284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":281,"mutability":"mutable","name":"spender","nameLocation":"3927:7:1","nodeType":"VariableDeclaration","scope":302,"src":"3919:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":280,"name":"address","nodeType":"ElementaryTypeName","src":"3919:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":283,"mutability":"mutable","name":"value","nameLocation":"3944:5:1","nodeType":"VariableDeclaration","scope":302,"src":"3936:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3936:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3918:32:1"},"returnParameters":{"id":287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":302,"src":"3975:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":285,"name":"bool","nodeType":"ElementaryTypeName","src":"3975:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3974:6:1"},"scope":651,"src":"3902:186:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[728],"body":{"id":333,"nodeType":"Block","src":"4773:151:1","statements":[{"assignments":[315],"declarations":[{"constant":false,"id":315,"mutability":"mutable","name":"spender","nameLocation":"4791:7:1","nodeType":"VariableDeclaration","scope":333,"src":"4783:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"4783:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":318,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":316,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"4801:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4801:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4783:30:1"},{"expression":{"arguments":[{"id":320,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"4839:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":321,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"4845:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":322,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"4854:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":319,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"4823:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":324,"nodeType":"ExpressionStatement","src":"4823:37:1"},{"expression":{"arguments":[{"id":326,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"4880:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":327,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":307,"src":"4886:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":328,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"4890:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":325,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4870:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4870:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"ExpressionStatement","src":"4870:26:1"},{"expression":{"hexValue":"74727565","id":331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4913:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":313,"id":332,"nodeType":"Return","src":"4906:11:1"}]},"documentation":{"id":303,"nodeType":"StructuredDocumentation","src":"4094:581:1","text":" @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`."},"functionSelector":"23b872dd","id":334,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4689:12:1","nodeType":"FunctionDefinition","parameters":{"id":310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":305,"mutability":"mutable","name":"from","nameLocation":"4710:4:1","nodeType":"VariableDeclaration","scope":334,"src":"4702:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":304,"name":"address","nodeType":"ElementaryTypeName","src":"4702:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":307,"mutability":"mutable","name":"to","nameLocation":"4724:2:1","nodeType":"VariableDeclaration","scope":334,"src":"4716:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":306,"name":"address","nodeType":"ElementaryTypeName","src":"4716:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":309,"mutability":"mutable","name":"value","nameLocation":"4736:5:1","nodeType":"VariableDeclaration","scope":334,"src":"4728:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":308,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:41:1"},"returnParameters":{"id":313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":334,"src":"4767:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":311,"name":"bool","nodeType":"ElementaryTypeName","src":"4767:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4766:6:1"},"scope":651,"src":"4680:244:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":380,"nodeType":"Block","src":"5366:231:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":344,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"5380:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5396:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5388:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":345,"name":"address","nodeType":"ElementaryTypeName","src":"5388:7:1","typeDescriptions":{}}},"id":348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5380:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":358,"nodeType":"IfStatement","src":"5376:86:1","trueBody":{"id":357,"nodeType":"Block","src":"5400:62:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5448:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5440:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":351,"name":"address","nodeType":"ElementaryTypeName","src":"5440:7:1","typeDescriptions":{}}},"id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":350,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"5421:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5421:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":356,"nodeType":"RevertStatement","src":"5414:37:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":359,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"5475:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5489:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5481:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":360,"name":"address","nodeType":"ElementaryTypeName","src":"5481:7:1","typeDescriptions":{}}},"id":363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5481:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5475:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":373,"nodeType":"IfStatement","src":"5471:86:1","trueBody":{"id":372,"nodeType":"Block","src":"5493:64:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5543:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5535:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":366,"name":"address","nodeType":"ElementaryTypeName","src":"5535:7:1","typeDescriptions":{}}},"id":369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":365,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"5514:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5514:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"RevertStatement","src":"5507:39:1"}]}},{"expression":{"arguments":[{"id":375,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"5574:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":376,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"5580:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":377,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":341,"src":"5584:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":374,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"5566:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5566:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"ExpressionStatement","src":"5566:24:1"}]},"documentation":{"id":335,"nodeType":"StructuredDocumentation","src":"4930:362:1","text":" @dev Moves a `value` amount of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"id":381,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"5306:9:1","nodeType":"FunctionDefinition","parameters":{"id":342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":337,"mutability":"mutable","name":"from","nameLocation":"5324:4:1","nodeType":"VariableDeclaration","scope":381,"src":"5316:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":336,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":339,"mutability":"mutable","name":"to","nameLocation":"5338:2:1","nodeType":"VariableDeclaration","scope":381,"src":"5330:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":338,"name":"address","nodeType":"ElementaryTypeName","src":"5330:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":341,"mutability":"mutable","name":"value","nameLocation":"5350:5:1","nodeType":"VariableDeclaration","scope":381,"src":"5342:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":340,"name":"uint256","nodeType":"ElementaryTypeName","src":"5342:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5315:41:1"},"returnParameters":{"id":343,"nodeType":"ParameterList","parameters":[],"src":"5366:0:1"},"scope":651,"src":"5297:300:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":457,"nodeType":"Block","src":"5987:1032:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":391,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6001:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6017:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6009:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":392,"name":"address","nodeType":"ElementaryTypeName","src":"6009:7:1","typeDescriptions":{}}},"id":395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6009:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6001:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":428,"nodeType":"Block","src":"6175:362:1","statements":[{"assignments":[403],"declarations":[{"constant":false,"id":403,"mutability":"mutable","name":"fromBalance","nameLocation":"6197:11:1","nodeType":"VariableDeclaration","scope":428,"src":"6189:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":402,"name":"uint256","nodeType":"ElementaryTypeName","src":"6189:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":407,"initialValue":{"baseExpression":{"id":404,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"6211:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":406,"indexExpression":{"id":405,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6221:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6211:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6189:37:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":408,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"6244:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":409,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6258:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6244:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":418,"nodeType":"IfStatement","src":"6240:115:1","trueBody":{"id":417,"nodeType":"Block","src":"6265:90:1","statements":[{"errorCall":{"arguments":[{"id":412,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6315:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":413,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"6321:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":414,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6334:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":411,"name":"ERC20InsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11,"src":"6290:24:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) pure"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":416,"nodeType":"RevertStatement","src":"6283:57:1"}]}},{"id":427,"nodeType":"UncheckedBlock","src":"6368:159:1","statements":[{"expression":{"id":425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":419,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"6475:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":421,"indexExpression":{"id":420,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6485:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6475:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"6493:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":423,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6507:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6493:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6475:37:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":426,"nodeType":"ExpressionStatement","src":"6475:37:1"}]}]},"id":429,"nodeType":"IfStatement","src":"5997:540:1","trueBody":{"id":401,"nodeType":"Block","src":"6021:148:1","statements":[{"expression":{"id":399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":397,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"6137:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":398,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6153:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":400,"nodeType":"ExpressionStatement","src":"6137:21:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":430,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"6551:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6565:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6557:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":431,"name":"address","nodeType":"ElementaryTypeName","src":"6557:7:1","typeDescriptions":{}}},"id":434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6557:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6551:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":449,"nodeType":"Block","src":"6766:206:1","statements":[{"id":448,"nodeType":"UncheckedBlock","src":"6780:182:1","statements":[{"expression":{"id":446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":442,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"6925:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":444,"indexExpression":{"id":443,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"6935:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6925:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":445,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6942:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6925:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":447,"nodeType":"ExpressionStatement","src":"6925:22:1"}]}]},"id":450,"nodeType":"IfStatement","src":"6547:425:1","trueBody":{"id":441,"nodeType":"Block","src":"6569:191:1","statements":[{"id":440,"nodeType":"UncheckedBlock","src":"6583:167:1","statements":[{"expression":{"id":438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":436,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"6714:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":437,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6730:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6714:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"nodeType":"ExpressionStatement","src":"6714:21:1"}]}]}},{"eventCall":{"arguments":[{"id":452,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6996:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":453,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"7002:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":454,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"7006:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":451,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":663,"src":"6987:8:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6987:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":456,"nodeType":"EmitStatement","src":"6982:30:1"}]},"documentation":{"id":382,"nodeType":"StructuredDocumentation","src":"5603:304:1","text":" @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event."},"id":458,"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"5921:7:1","nodeType":"FunctionDefinition","parameters":{"id":389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":384,"mutability":"mutable","name":"from","nameLocation":"5937:4:1","nodeType":"VariableDeclaration","scope":458,"src":"5929:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":383,"name":"address","nodeType":"ElementaryTypeName","src":"5929:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":386,"mutability":"mutable","name":"to","nameLocation":"5951:2:1","nodeType":"VariableDeclaration","scope":458,"src":"5943:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":385,"name":"address","nodeType":"ElementaryTypeName","src":"5943:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":388,"mutability":"mutable","name":"value","nameLocation":"5963:5:1","nodeType":"VariableDeclaration","scope":458,"src":"5955:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":387,"name":"uint256","nodeType":"ElementaryTypeName","src":"5955:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5928:41:1"},"returnParameters":{"id":390,"nodeType":"ParameterList","parameters":[],"src":"5987:0:1"},"scope":651,"src":"5912:1107:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":490,"nodeType":"Block","src":"7418:152:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":466,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"7432:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7451:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7443:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":467,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:1","typeDescriptions":{}}},"id":470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7443:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7432:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":480,"nodeType":"IfStatement","src":"7428:91:1","trueBody":{"id":479,"nodeType":"Block","src":"7455:64:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7505:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7497:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":473,"name":"address","nodeType":"ElementaryTypeName","src":"7497:7:1","typeDescriptions":{}}},"id":476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7497:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":472,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"7476:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7476:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":478,"nodeType":"RevertStatement","src":"7469:39:1"}]}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7544:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":482,"name":"address","nodeType":"ElementaryTypeName","src":"7536:7:1","typeDescriptions":{}}},"id":485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":486,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"7548:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":487,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"7557:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":481,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"7528:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":489,"nodeType":"ExpressionStatement","src":"7528:35:1"}]},"documentation":{"id":459,"nodeType":"StructuredDocumentation","src":"7025:332:1","text":" @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"id":491,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"7371:5:1","nodeType":"FunctionDefinition","parameters":{"id":464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":461,"mutability":"mutable","name":"account","nameLocation":"7385:7:1","nodeType":"VariableDeclaration","scope":491,"src":"7377:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":460,"name":"address","nodeType":"ElementaryTypeName","src":"7377:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":463,"mutability":"mutable","name":"value","nameLocation":"7402:5:1","nodeType":"VariableDeclaration","scope":491,"src":"7394:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":462,"name":"uint256","nodeType":"ElementaryTypeName","src":"7394:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7376:32:1"},"returnParameters":{"id":465,"nodeType":"ParameterList","parameters":[],"src":"7418:0:1"},"scope":651,"src":"7362:208:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":523,"nodeType":"Block","src":"7944:150:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":499,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"7958:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7977:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7969:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":500,"name":"address","nodeType":"ElementaryTypeName","src":"7969:7:1","typeDescriptions":{}}},"id":503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7969:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7958:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":513,"nodeType":"IfStatement","src":"7954:89:1","trueBody":{"id":512,"nodeType":"Block","src":"7981:62:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8029:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8021:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":506,"name":"address","nodeType":"ElementaryTypeName","src":"8021:7:1","typeDescriptions":{}}},"id":509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8021:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":505,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"8002:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8002:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":511,"nodeType":"RevertStatement","src":"7995:37:1"}]}},{"expression":{"arguments":[{"id":515,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"8060:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8077:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8069:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":516,"name":"address","nodeType":"ElementaryTypeName","src":"8069:7:1","typeDescriptions":{}}},"id":519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":520,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":496,"src":"8081:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":514,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"8052:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8052:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":522,"nodeType":"ExpressionStatement","src":"8052:35:1"}]},"documentation":{"id":492,"nodeType":"StructuredDocumentation","src":"7576:307:1","text":" @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead"},"id":524,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"7897:5:1","nodeType":"FunctionDefinition","parameters":{"id":497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":494,"mutability":"mutable","name":"account","nameLocation":"7911:7:1","nodeType":"VariableDeclaration","scope":524,"src":"7903:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":493,"name":"address","nodeType":"ElementaryTypeName","src":"7903:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":496,"mutability":"mutable","name":"value","nameLocation":"7928:5:1","nodeType":"VariableDeclaration","scope":524,"src":"7920:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":495,"name":"uint256","nodeType":"ElementaryTypeName","src":"7920:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7902:32:1"},"returnParameters":{"id":498,"nodeType":"ParameterList","parameters":[],"src":"7944:0:1"},"scope":651,"src":"7888:206:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":541,"nodeType":"Block","src":"8704:54:1","statements":[{"expression":{"arguments":[{"id":535,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":527,"src":"8723:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":536,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":529,"src":"8730:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":537,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"8739:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8746:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":534,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[542,602],"referencedDeclaration":602,"src":"8714:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8714:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":540,"nodeType":"ExpressionStatement","src":"8714:37:1"}]},"documentation":{"id":525,"nodeType":"StructuredDocumentation","src":"8100:525:1","text":" @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument."},"id":542,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"8639:8:1","nodeType":"FunctionDefinition","parameters":{"id":532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":527,"mutability":"mutable","name":"owner","nameLocation":"8656:5:1","nodeType":"VariableDeclaration","scope":542,"src":"8648:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":526,"name":"address","nodeType":"ElementaryTypeName","src":"8648:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":529,"mutability":"mutable","name":"spender","nameLocation":"8671:7:1","nodeType":"VariableDeclaration","scope":542,"src":"8663:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":528,"name":"address","nodeType":"ElementaryTypeName","src":"8663:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":531,"mutability":"mutable","name":"value","nameLocation":"8688:5:1","nodeType":"VariableDeclaration","scope":542,"src":"8680:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":530,"name":"uint256","nodeType":"ElementaryTypeName","src":"8680:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8647:47:1"},"returnParameters":{"id":533,"nodeType":"ParameterList","parameters":[],"src":"8704:0:1"},"scope":651,"src":"8630:128:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":601,"nodeType":"Block","src":"9703:334:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":554,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"9717:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9734:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9726:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":555,"name":"address","nodeType":"ElementaryTypeName","src":"9726:7:1","typeDescriptions":{}}},"id":558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9726:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9717:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":568,"nodeType":"IfStatement","src":"9713:89:1","trueBody":{"id":567,"nodeType":"Block","src":"9738:64:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9788:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9780:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":561,"name":"address","nodeType":"ElementaryTypeName","src":"9780:7:1","typeDescriptions":{}}},"id":564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9780:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":560,"name":"ERC20InvalidApprover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35,"src":"9759:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9759:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":566,"nodeType":"RevertStatement","src":"9752:39:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":569,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"9815:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9834:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9826:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":570,"name":"address","nodeType":"ElementaryTypeName","src":"9826:7:1","typeDescriptions":{}}},"id":573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9815:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":583,"nodeType":"IfStatement","src":"9811:90:1","trueBody":{"id":582,"nodeType":"Block","src":"9838:63:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9887:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9879:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":576,"name":"address","nodeType":"ElementaryTypeName","src":"9879:7:1","typeDescriptions":{}}},"id":579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9879:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":575,"name":"ERC20InvalidSpender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"9859:19:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":581,"nodeType":"RevertStatement","src":"9852:38:1"}]}},{"expression":{"id":590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":584,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"9910:11:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":587,"indexExpression":{"id":585,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"9922:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9910:18:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":588,"indexExpression":{"id":586,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"9929:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9910:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":589,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"9940:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9910:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":591,"nodeType":"ExpressionStatement","src":"9910:35:1"},{"condition":{"id":592,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":551,"src":"9959:9:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":600,"nodeType":"IfStatement","src":"9955:76:1","trueBody":{"id":599,"nodeType":"Block","src":"9970:61:1","statements":[{"eventCall":{"arguments":[{"id":594,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"9998:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":595,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"10005:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"10014:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":593,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":672,"src":"9989:8:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9989:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":598,"nodeType":"EmitStatement","src":"9984:36:1"}]}}]},"documentation":{"id":543,"nodeType":"StructuredDocumentation","src":"8764:836:1","text":" @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}."},"id":602,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"9614:8:1","nodeType":"FunctionDefinition","parameters":{"id":552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":545,"mutability":"mutable","name":"owner","nameLocation":"9631:5:1","nodeType":"VariableDeclaration","scope":602,"src":"9623:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":544,"name":"address","nodeType":"ElementaryTypeName","src":"9623:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":547,"mutability":"mutable","name":"spender","nameLocation":"9646:7:1","nodeType":"VariableDeclaration","scope":602,"src":"9638:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":546,"name":"address","nodeType":"ElementaryTypeName","src":"9638:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":549,"mutability":"mutable","name":"value","nameLocation":"9663:5:1","nodeType":"VariableDeclaration","scope":602,"src":"9655:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":548,"name":"uint256","nodeType":"ElementaryTypeName","src":"9655:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":551,"mutability":"mutable","name":"emitEvent","nameLocation":"9675:9:1","nodeType":"VariableDeclaration","scope":602,"src":"9670:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":550,"name":"bool","nodeType":"ElementaryTypeName","src":"9670:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9622:63:1"},"returnParameters":{"id":553,"nodeType":"ParameterList","parameters":[],"src":"9703:0:1"},"scope":651,"src":"9605:432:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":649,"nodeType":"Block","src":"10408:387:1","statements":[{"assignments":[613],"declarations":[{"constant":false,"id":613,"mutability":"mutable","name":"currentAllowance","nameLocation":"10426:16:1","nodeType":"VariableDeclaration","scope":649,"src":"10418:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":612,"name":"uint256","nodeType":"ElementaryTypeName","src":"10418:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":618,"initialValue":{"arguments":[{"id":615,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"10455:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":616,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10462:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":614,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"10445:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10445:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10418:52:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":619,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10484:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"id":622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10508:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":621,"name":"uint256","nodeType":"ElementaryTypeName","src":"10508:7:1","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":620,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10503:4:1","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10503:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10517:3:1","memberName":"max","nodeType":"MemberAccess","src":"10503:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10484:36:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":648,"nodeType":"IfStatement","src":"10480:309:1","trueBody":{"id":647,"nodeType":"Block","src":"10522:267:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":626,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10540:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":627,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"10559:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10540:24:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":636,"nodeType":"IfStatement","src":"10536:130:1","trueBody":{"id":635,"nodeType":"Block","src":"10566:100:1","statements":[{"errorCall":{"arguments":[{"id":630,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10618:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":631,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10627:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":632,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"10645:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":629,"name":"ERC20InsufficientAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"10591:26:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) pure"}},"id":633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10591:60:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":634,"nodeType":"RevertStatement","src":"10584:67:1"}]}},{"id":646,"nodeType":"UncheckedBlock","src":"10679:100:1","statements":[{"expression":{"arguments":[{"id":638,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"10716:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":639,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10723:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":640,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10732:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":641,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"10751:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10732:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10758:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":637,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[542,602],"referencedDeclaration":602,"src":"10707:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10707:57:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":645,"nodeType":"ExpressionStatement","src":"10707:57:1"}]}]}}]},"documentation":{"id":603,"nodeType":"StructuredDocumentation","src":"10043:271:1","text":" @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event."},"id":650,"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"10328:15:1","nodeType":"FunctionDefinition","parameters":{"id":610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":605,"mutability":"mutable","name":"owner","nameLocation":"10352:5:1","nodeType":"VariableDeclaration","scope":650,"src":"10344:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":604,"name":"address","nodeType":"ElementaryTypeName","src":"10344:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":607,"mutability":"mutable","name":"spender","nameLocation":"10367:7:1","nodeType":"VariableDeclaration","scope":650,"src":"10359:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":606,"name":"address","nodeType":"ElementaryTypeName","src":"10359:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":609,"mutability":"mutable","name":"value","nameLocation":"10384:5:1","nodeType":"VariableDeclaration","scope":650,"src":"10376:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":608,"name":"uint256","nodeType":"ElementaryTypeName","src":"10376:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10343:47:1"},"returnParameters":{"id":611,"nodeType":"ParameterList","parameters":[],"src":"10408:0:1"},"scope":651,"src":"10319:476:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":652,"src":"1106:9691:1","usedErrors":[11,16,21,30,35,40],"usedEvents":[663,672]}],"src":"105:10693:1"},"id":1},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[729]},"id":730,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":653,"literals":["solidity",">=","0.4",".16"],"nodeType":"PragmaDirective","src":"106:25:2"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":654,"nodeType":"StructuredDocumentation","src":"133:71:2","text":" @dev Interface of the ERC-20 standard as defined in the ERC."},"fullyImplemented":false,"id":729,"linearizedBaseContracts":[729],"name":"IERC20","nameLocation":"215:6:2","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":655,"nodeType":"StructuredDocumentation","src":"228:158:2","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":663,"name":"Transfer","nameLocation":"397:8:2","nodeType":"EventDefinition","parameters":{"id":662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":657,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"422:4:2","nodeType":"VariableDeclaration","scope":663,"src":"406:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":656,"name":"address","nodeType":"ElementaryTypeName","src":"406:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":659,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"444:2:2","nodeType":"VariableDeclaration","scope":663,"src":"428:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":658,"name":"address","nodeType":"ElementaryTypeName","src":"428:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":661,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"456:5:2","nodeType":"VariableDeclaration","scope":663,"src":"448:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":660,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:57:2"},"src":"391:72:2"},{"anonymous":false,"documentation":{"id":664,"nodeType":"StructuredDocumentation","src":"469:148:2","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":672,"name":"Approval","nameLocation":"628:8:2","nodeType":"EventDefinition","parameters":{"id":671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":666,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"653:5:2","nodeType":"VariableDeclaration","scope":672,"src":"637:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":665,"name":"address","nodeType":"ElementaryTypeName","src":"637:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":668,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"676:7:2","nodeType":"VariableDeclaration","scope":672,"src":"660:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":667,"name":"address","nodeType":"ElementaryTypeName","src":"660:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":670,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"693:5:2","nodeType":"VariableDeclaration","scope":672,"src":"685:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":669,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"636:63:2"},"src":"622:78:2"},{"documentation":{"id":673,"nodeType":"StructuredDocumentation","src":"706:65:2","text":" @dev Returns the value of tokens in existence."},"functionSelector":"18160ddd","id":678,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"785:11:2","nodeType":"FunctionDefinition","parameters":{"id":674,"nodeType":"ParameterList","parameters":[],"src":"796:2:2"},"returnParameters":{"id":677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":678,"src":"822:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":675,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:9:2"},"scope":729,"src":"776:55:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":679,"nodeType":"StructuredDocumentation","src":"837:71:2","text":" @dev Returns the value of tokens owned by `account`."},"functionSelector":"70a08231","id":686,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"922:9:2","nodeType":"FunctionDefinition","parameters":{"id":682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":681,"mutability":"mutable","name":"account","nameLocation":"940:7:2","nodeType":"VariableDeclaration","scope":686,"src":"932:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":680,"name":"address","nodeType":"ElementaryTypeName","src":"932:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"931:17:2"},"returnParameters":{"id":685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":686,"src":"972:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":683,"name":"uint256","nodeType":"ElementaryTypeName","src":"972:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"971:9:2"},"scope":729,"src":"913:68:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":687,"nodeType":"StructuredDocumentation","src":"987:213:2","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":696,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1214:8:2","nodeType":"FunctionDefinition","parameters":{"id":692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":689,"mutability":"mutable","name":"to","nameLocation":"1231:2:2","nodeType":"VariableDeclaration","scope":696,"src":"1223:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":688,"name":"address","nodeType":"ElementaryTypeName","src":"1223:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":691,"mutability":"mutable","name":"value","nameLocation":"1243:5:2","nodeType":"VariableDeclaration","scope":696,"src":"1235:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":690,"name":"uint256","nodeType":"ElementaryTypeName","src":"1235:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1222:27:2"},"returnParameters":{"id":695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":694,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":696,"src":"1268:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":693,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:2"},"scope":729,"src":"1205:69:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":697,"nodeType":"StructuredDocumentation","src":"1280:264:2","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":706,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:2","nodeType":"FunctionDefinition","parameters":{"id":702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":699,"mutability":"mutable","name":"owner","nameLocation":"1576:5:2","nodeType":"VariableDeclaration","scope":706,"src":"1568:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":698,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":701,"mutability":"mutable","name":"spender","nameLocation":"1591:7:2","nodeType":"VariableDeclaration","scope":706,"src":"1583:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":700,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:2"},"returnParameters":{"id":705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":706,"src":"1623:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":703,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:2"},"scope":729,"src":"1549:83:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":707,"nodeType":"StructuredDocumentation","src":"1638:667:2","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":716,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2319:7:2","nodeType":"FunctionDefinition","parameters":{"id":712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":709,"mutability":"mutable","name":"spender","nameLocation":"2335:7:2","nodeType":"VariableDeclaration","scope":716,"src":"2327:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":708,"name":"address","nodeType":"ElementaryTypeName","src":"2327:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":711,"mutability":"mutable","name":"value","nameLocation":"2352:5:2","nodeType":"VariableDeclaration","scope":716,"src":"2344:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":710,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2326:32:2"},"returnParameters":{"id":715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":716,"src":"2377:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":713,"name":"bool","nodeType":"ElementaryTypeName","src":"2377:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2376:6:2"},"scope":729,"src":"2310:73:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":717,"nodeType":"StructuredDocumentation","src":"2389:297:2","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":728,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2700:12:2","nodeType":"FunctionDefinition","parameters":{"id":724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":719,"mutability":"mutable","name":"from","nameLocation":"2721:4:2","nodeType":"VariableDeclaration","scope":728,"src":"2713:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":718,"name":"address","nodeType":"ElementaryTypeName","src":"2713:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":721,"mutability":"mutable","name":"to","nameLocation":"2735:2:2","nodeType":"VariableDeclaration","scope":728,"src":"2727:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":720,"name":"address","nodeType":"ElementaryTypeName","src":"2727:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":723,"mutability":"mutable","name":"value","nameLocation":"2747:5:2","nodeType":"VariableDeclaration","scope":728,"src":"2739:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2739:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2712:41:2"},"returnParameters":{"id":727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":728,"src":"2772:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":725,"name":"bool","nodeType":"ElementaryTypeName","src":"2772:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2771:6:2"},"scope":729,"src":"2691:87:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":730,"src":"205:2575:2","usedErrors":[],"usedEvents":[663,672]}],"src":"106:2675:2"},"id":2},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","exportedSymbols":{"IERC20":[729],"IERC20Metadata":[755]},"id":756,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":731,"literals":["solidity",">=","0.6",".2"],"nodeType":"PragmaDirective","src":"125:24:3"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","id":733,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":756,"sourceUnit":730,"src":"151:37:3","symbolAliases":[{"foreign":{"id":732,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"159:6:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":735,"name":"IERC20","nameLocations":["306:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":729,"src":"306:6:3"},"id":736,"nodeType":"InheritanceSpecifier","src":"306:6:3"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":734,"nodeType":"StructuredDocumentation","src":"190:87:3","text":" @dev Interface for the optional metadata functions from the ERC-20 standard."},"fullyImplemented":false,"id":755,"linearizedBaseContracts":[755,729],"name":"IERC20Metadata","nameLocation":"288:14:3","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":737,"nodeType":"StructuredDocumentation","src":"319:54:3","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":742,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"387:4:3","nodeType":"FunctionDefinition","parameters":{"id":738,"nodeType":"ParameterList","parameters":[],"src":"391:2:3"},"returnParameters":{"id":741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":742,"src":"417:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":739,"name":"string","nodeType":"ElementaryTypeName","src":"417:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"416:15:3"},"scope":755,"src":"378:54:3","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":743,"nodeType":"StructuredDocumentation","src":"438:56:3","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","id":748,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"508:6:3","nodeType":"FunctionDefinition","parameters":{"id":744,"nodeType":"ParameterList","parameters":[],"src":"514:2:3"},"returnParameters":{"id":747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":748,"src":"540:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":745,"name":"string","nodeType":"ElementaryTypeName","src":"540:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"539:15:3"},"scope":755,"src":"499:56:3","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":749,"nodeType":"StructuredDocumentation","src":"561:65:3","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","id":754,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"640:8:3","nodeType":"FunctionDefinition","parameters":{"id":750,"nodeType":"ParameterList","parameters":[],"src":"648:2:3"},"returnParameters":{"id":753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":754,"src":"674:5:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":751,"name":"uint8","nodeType":"ElementaryTypeName","src":"674:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"673:7:3"},"scope":755,"src":"631:50:3","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":756,"src":"278:405:3","usedErrors":[],"usedEvents":[663,672]}],"src":"125:559:3"},"id":3},"@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[785]},"id":786,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":757,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"101:24:4"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":758,"nodeType":"StructuredDocumentation","src":"127:496:4","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":785,"linearizedBaseContracts":[785],"name":"Context","nameLocation":"642:7:4","nodeType":"ContractDefinition","nodes":[{"body":{"id":766,"nodeType":"Block","src":"718:34:4","statements":[{"expression":{"expression":{"id":763,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"735:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"739:6:4","memberName":"sender","nodeType":"MemberAccess","src":"735:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":762,"id":765,"nodeType":"Return","src":"728:17:4"}]},"id":767,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"665:10:4","nodeType":"FunctionDefinition","parameters":{"id":759,"nodeType":"ParameterList","parameters":[],"src":"675:2:4"},"returnParameters":{"id":762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":767,"src":"709:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":760,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:9:4"},"scope":785,"src":"656:96:4","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":775,"nodeType":"Block","src":"825:32:4","statements":[{"expression":{"expression":{"id":772,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"842:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"846:4:4","memberName":"data","nodeType":"MemberAccess","src":"842:8:4","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":771,"id":774,"nodeType":"Return","src":"835:15:4"}]},"id":776,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"767:8:4","nodeType":"FunctionDefinition","parameters":{"id":768,"nodeType":"ParameterList","parameters":[],"src":"775:2:4"},"returnParameters":{"id":771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":776,"src":"809:14:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":769,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"808:16:4"},"scope":785,"src":"758:99:4","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":783,"nodeType":"Block","src":"935:25:4","statements":[{"expression":{"hexValue":"30","id":781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"952:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":780,"id":782,"nodeType":"Return","src":"945:8:4"}]},"id":784,"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"872:20:4","nodeType":"FunctionDefinition","parameters":{"id":777,"nodeType":"ParameterList","parameters":[],"src":"892:2:4"},"returnParameters":{"id":780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":779,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":784,"src":"926:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":778,"name":"uint256","nodeType":"ElementaryTypeName","src":"926:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"925:9:4"},"scope":785,"src":"863:97:4","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":786,"src":"624:338:4","usedErrors":[],"usedEvents":[]}],"src":"101:862:4"},"id":4},"@openzeppelin/contracts/utils/ReentrancyGuard.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/ReentrancyGuard.sol","exportedSymbols":{"ReentrancyGuard":[854]},"id":855,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":787,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"109:24:5"},{"abstract":true,"baseContracts":[],"canonicalName":"ReentrancyGuard","contractDependencies":[],"contractKind":"contract","documentation":{"id":788,"nodeType":"StructuredDocumentation","src":"135:894:5","text":" @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,\n consider using {ReentrancyGuardTransient} instead.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]."},"fullyImplemented":true,"id":854,"linearizedBaseContracts":[854],"name":"ReentrancyGuard","nameLocation":"1048:15:5","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":791,"mutability":"constant","name":"NOT_ENTERED","nameLocation":"1843:11:5","nodeType":"VariableDeclaration","scope":854,"src":"1818:40:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":789,"name":"uint256","nodeType":"ElementaryTypeName","src":"1818:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1857:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":true,"id":794,"mutability":"constant","name":"ENTERED","nameLocation":"1889:7:5","nodeType":"VariableDeclaration","scope":854,"src":"1864:36:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":792,"name":"uint256","nodeType":"ElementaryTypeName","src":"1864:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1899:1:5","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"constant":false,"id":796,"mutability":"mutable","name":"_status","nameLocation":"1923:7:5","nodeType":"VariableDeclaration","scope":854,"src":"1907:23:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":795,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"documentation":{"id":797,"nodeType":"StructuredDocumentation","src":"1937:52:5","text":" @dev Unauthorized reentrant call."},"errorSelector":"3ee5aeb5","id":799,"name":"ReentrancyGuardReentrantCall","nameLocation":"2000:28:5","nodeType":"ErrorDefinition","parameters":{"id":798,"nodeType":"ParameterList","parameters":[],"src":"2028:2:5"},"src":"1994:37:5"},{"body":{"id":806,"nodeType":"Block","src":"2051:38:5","statements":[{"expression":{"id":804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":802,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"2061:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":803,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"2071:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2061:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":805,"nodeType":"ExpressionStatement","src":"2061:21:5"}]},"id":807,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":800,"nodeType":"ParameterList","parameters":[],"src":"2048:2:5"},"returnParameters":{"id":801,"nodeType":"ParameterList","parameters":[],"src":"2051:0:5"},"scope":854,"src":"2037:52:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":817,"nodeType":"Block","src":"2490:79:5","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":810,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":834,"src":"2500:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2500:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":812,"nodeType":"ExpressionStatement","src":"2500:21:5"},{"id":813,"nodeType":"PlaceholderStatement","src":"2531:1:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":814,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"2542:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2542:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":816,"nodeType":"ExpressionStatement","src":"2542:20:5"}]},"documentation":{"id":808,"nodeType":"StructuredDocumentation","src":"2095:366:5","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work."},"id":818,"name":"nonReentrant","nameLocation":"2475:12:5","nodeType":"ModifierDefinition","parameters":{"id":809,"nodeType":"ParameterList","parameters":[],"src":"2487:2:5"},"src":"2466:103:5","virtual":false,"visibility":"internal"},{"body":{"id":833,"nodeType":"Block","src":"2614:268:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":821,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"2702:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":822,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"2713:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2702:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":828,"nodeType":"IfStatement","src":"2698:86:5","trueBody":{"id":827,"nodeType":"Block","src":"2722:62:5","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":824,"name":"ReentrancyGuardReentrantCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":799,"src":"2743:28:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2743:30:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":826,"nodeType":"RevertStatement","src":"2736:37:5"}]}},{"expression":{"id":831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":829,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"2858:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":830,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"2868:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2858:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":832,"nodeType":"ExpressionStatement","src":"2858:17:5"}]},"id":834,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"2584:19:5","nodeType":"FunctionDefinition","parameters":{"id":819,"nodeType":"ParameterList","parameters":[],"src":"2603:2:5"},"returnParameters":{"id":820,"nodeType":"ParameterList","parameters":[],"src":"2614:0:5"},"scope":854,"src":"2575:307:5","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":841,"nodeType":"Block","src":"2926:170:5","statements":[{"expression":{"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":837,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"3068:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":838,"name":"NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":791,"src":"3078:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3068:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":840,"nodeType":"ExpressionStatement","src":"3068:21:5"}]},"id":842,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"2897:18:5","nodeType":"FunctionDefinition","parameters":{"id":835,"nodeType":"ParameterList","parameters":[],"src":"2915:2:5"},"returnParameters":{"id":836,"nodeType":"ParameterList","parameters":[],"src":"2926:0:5"},"scope":854,"src":"2888:208:5","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":852,"nodeType":"Block","src":"3339:42:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":848,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"3356:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":849,"name":"ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"3367:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3356:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":847,"id":851,"nodeType":"Return","src":"3349:25:5"}]},"documentation":{"id":843,"nodeType":"StructuredDocumentation","src":"3102:168:5","text":" @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n `nonReentrant` function in the call stack."},"id":853,"implemented":true,"kind":"function","modifiers":[],"name":"_reentrancyGuardEntered","nameLocation":"3284:23:5","nodeType":"FunctionDefinition","parameters":{"id":844,"nodeType":"ParameterList","parameters":[],"src":"3307:2:5"},"returnParameters":{"id":847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":853,"src":"3333:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":845,"name":"bool","nodeType":"ElementaryTypeName","src":"3333:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3332:6:5"},"scope":854,"src":"3275:106:5","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":855,"src":"1030:2353:5","usedErrors":[799],"usedEvents":[]}],"src":"109:3275:5"},"id":5},"contracts/DLE.sol":{"ast":{"absolutePath":"contracts/DLE.sol","exportedSymbols":{"Context":[785],"DLE":[2613],"ERC20":[651],"IERC20":[729],"IERC20Errors":[41],"IERC20Metadata":[755],"ReentrancyGuard":[854]},"id":2614,"license":"PROPRIETARY AND MIT","nodeType":"SourceUnit","nodes":[{"id":856,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"423:24:6"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","id":857,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2614,"sourceUnit":652,"src":"449:55:6","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/ReentrancyGuard.sol","file":"@openzeppelin/contracts/utils/ReentrancyGuard.sol","id":858,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2614,"sourceUnit":855,"src":"505:59:6","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":860,"name":"ERC20","nameLocations":["766:5:6"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"766:5:6"},"id":861,"nodeType":"InheritanceSpecifier","src":"766:5:6"},{"baseName":{"id":862,"name":"ReentrancyGuard","nameLocations":["773:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":854,"src":"773:15:6"},"id":863,"nodeType":"InheritanceSpecifier","src":"773:15:6"}],"canonicalName":"DLE","contractDependencies":[],"contractKind":"contract","documentation":{"id":859,"nodeType":"StructuredDocumentation","src":"566:183:6","text":" @title DLE (Digital Legal Entity)\n @dev Основной контракт DLE с модульной архитектурой и мульти-чейн поддержкой"},"fullyImplemented":true,"id":2613,"linearizedBaseContracts":[2613,854,651,41,755,729,785],"name":"DLE","nameLocation":"759:3:6","nodeType":"ContractDefinition","nodes":[{"canonicalName":"DLE.DLEInfo","id":885,"members":[{"constant":false,"id":865,"mutability":"mutable","name":"name","nameLocation":"827:4:6","nodeType":"VariableDeclaration","scope":885,"src":"820:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":864,"name":"string","nodeType":"ElementaryTypeName","src":"820:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":867,"mutability":"mutable","name":"symbol","nameLocation":"848:6:6","nodeType":"VariableDeclaration","scope":885,"src":"841:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":866,"name":"string","nodeType":"ElementaryTypeName","src":"841:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":869,"mutability":"mutable","name":"location","nameLocation":"871:8:6","nodeType":"VariableDeclaration","scope":885,"src":"864:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":868,"name":"string","nodeType":"ElementaryTypeName","src":"864:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":871,"mutability":"mutable","name":"coordinates","nameLocation":"896:11:6","nodeType":"VariableDeclaration","scope":885,"src":"889:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":870,"name":"string","nodeType":"ElementaryTypeName","src":"889:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":873,"mutability":"mutable","name":"jurisdiction","nameLocation":"925:12:6","nodeType":"VariableDeclaration","scope":885,"src":"917:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":872,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":875,"mutability":"mutable","name":"oktmo","nameLocation":"955:5:6","nodeType":"VariableDeclaration","scope":885,"src":"947:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":874,"name":"uint256","nodeType":"ElementaryTypeName","src":"947:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":878,"mutability":"mutable","name":"okvedCodes","nameLocation":"979:10:6","nodeType":"VariableDeclaration","scope":885,"src":"970:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":876,"name":"string","nodeType":"ElementaryTypeName","src":"970:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":877,"nodeType":"ArrayTypeName","src":"970:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":880,"mutability":"mutable","name":"kpp","nameLocation":"1007:3:6","nodeType":"VariableDeclaration","scope":885,"src":"999:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":879,"name":"uint256","nodeType":"ElementaryTypeName","src":"999:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":882,"mutability":"mutable","name":"creationTimestamp","nameLocation":"1028:17:6","nodeType":"VariableDeclaration","scope":885,"src":"1020:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":881,"name":"uint256","nodeType":"ElementaryTypeName","src":"1020:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":884,"mutability":"mutable","name":"isActive","nameLocation":"1060:8:6","nodeType":"VariableDeclaration","scope":885,"src":"1055:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":883,"name":"bool","nodeType":"ElementaryTypeName","src":"1055:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DLEInfo","nameLocation":"802:7:6","nodeType":"StructDefinition","scope":2613,"src":"795:280:6","visibility":"public"},{"canonicalName":"DLE.DLEConfig","id":914,"members":[{"constant":false,"id":887,"mutability":"mutable","name":"name","nameLocation":"1115:4:6","nodeType":"VariableDeclaration","scope":914,"src":"1108:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":886,"name":"string","nodeType":"ElementaryTypeName","src":"1108:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":889,"mutability":"mutable","name":"symbol","nameLocation":"1136:6:6","nodeType":"VariableDeclaration","scope":914,"src":"1129:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":888,"name":"string","nodeType":"ElementaryTypeName","src":"1129:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":891,"mutability":"mutable","name":"location","nameLocation":"1159:8:6","nodeType":"VariableDeclaration","scope":914,"src":"1152:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":890,"name":"string","nodeType":"ElementaryTypeName","src":"1152:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":893,"mutability":"mutable","name":"coordinates","nameLocation":"1184:11:6","nodeType":"VariableDeclaration","scope":914,"src":"1177:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":892,"name":"string","nodeType":"ElementaryTypeName","src":"1177:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":895,"mutability":"mutable","name":"jurisdiction","nameLocation":"1213:12:6","nodeType":"VariableDeclaration","scope":914,"src":"1205:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1205:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":897,"mutability":"mutable","name":"oktmo","nameLocation":"1243:5:6","nodeType":"VariableDeclaration","scope":914,"src":"1235:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1235:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":900,"mutability":"mutable","name":"okvedCodes","nameLocation":"1267:10:6","nodeType":"VariableDeclaration","scope":914,"src":"1258:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":898,"name":"string","nodeType":"ElementaryTypeName","src":"1258:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":899,"nodeType":"ArrayTypeName","src":"1258:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":902,"mutability":"mutable","name":"kpp","nameLocation":"1295:3:6","nodeType":"VariableDeclaration","scope":914,"src":"1287:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":901,"name":"uint256","nodeType":"ElementaryTypeName","src":"1287:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":904,"mutability":"mutable","name":"quorumPercentage","nameLocation":"1316:16:6","nodeType":"VariableDeclaration","scope":914,"src":"1308:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":903,"name":"uint256","nodeType":"ElementaryTypeName","src":"1308:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":907,"mutability":"mutable","name":"initialPartners","nameLocation":"1352:15:6","nodeType":"VariableDeclaration","scope":914,"src":"1342:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":905,"name":"address","nodeType":"ElementaryTypeName","src":"1342:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":906,"nodeType":"ArrayTypeName","src":"1342:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":910,"mutability":"mutable","name":"initialAmounts","nameLocation":"1387:14:6","nodeType":"VariableDeclaration","scope":914,"src":"1377:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":908,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":909,"nodeType":"ArrayTypeName","src":"1377:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":913,"mutability":"mutable","name":"supportedChainIds","nameLocation":"1421:17:6","nodeType":"VariableDeclaration","scope":914,"src":"1411:27:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":911,"name":"uint256","nodeType":"ElementaryTypeName","src":"1411:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":912,"nodeType":"ArrayTypeName","src":"1411:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"name":"DLEConfig","nameLocation":"1088:9:6","nodeType":"StructDefinition","scope":2613,"src":"1081:411:6","visibility":"public"},{"canonicalName":"DLE.Proposal","id":939,"members":[{"constant":false,"id":916,"mutability":"mutable","name":"id","nameLocation":"1532:2:6","nodeType":"VariableDeclaration","scope":939,"src":"1524:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":915,"name":"uint256","nodeType":"ElementaryTypeName","src":"1524:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":918,"mutability":"mutable","name":"description","nameLocation":"1551:11:6","nodeType":"VariableDeclaration","scope":939,"src":"1544:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":917,"name":"string","nodeType":"ElementaryTypeName","src":"1544:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":920,"mutability":"mutable","name":"forVotes","nameLocation":"1580:8:6","nodeType":"VariableDeclaration","scope":939,"src":"1572:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":919,"name":"uint256","nodeType":"ElementaryTypeName","src":"1572:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":922,"mutability":"mutable","name":"againstVotes","nameLocation":"1606:12:6","nodeType":"VariableDeclaration","scope":939,"src":"1598:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":921,"name":"uint256","nodeType":"ElementaryTypeName","src":"1598:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":924,"mutability":"mutable","name":"executed","nameLocation":"1633:8:6","nodeType":"VariableDeclaration","scope":939,"src":"1628:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":923,"name":"bool","nodeType":"ElementaryTypeName","src":"1628:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":926,"mutability":"mutable","name":"deadline","nameLocation":"1659:8:6","nodeType":"VariableDeclaration","scope":939,"src":"1651:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":925,"name":"uint256","nodeType":"ElementaryTypeName","src":"1651:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":928,"mutability":"mutable","name":"initiator","nameLocation":"1685:9:6","nodeType":"VariableDeclaration","scope":939,"src":"1677:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":927,"name":"address","nodeType":"ElementaryTypeName","src":"1677:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"operation","nameLocation":"1710:9:6","nodeType":"VariableDeclaration","scope":939,"src":"1704:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"1704:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":934,"mutability":"mutable","name":"hasVoted","nameLocation":"1802:8:6","nodeType":"VariableDeclaration","scope":939,"src":"1777:33:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":933,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":931,"name":"address","nodeType":"ElementaryTypeName","src":"1785:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1777:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":932,"name":"bool","nodeType":"ElementaryTypeName","src":"1796:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":938,"mutability":"mutable","name":"chainVoteSynced","nameLocation":"1845:15:6","nodeType":"VariableDeclaration","scope":939,"src":"1820:40:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":937,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":935,"name":"uint256","nodeType":"ElementaryTypeName","src":"1828:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1820:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":936,"name":"bool","nodeType":"ElementaryTypeName","src":"1839:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1505:8:6","nodeType":"StructDefinition","scope":2613,"src":"1498:444:6","visibility":"public"},{"canonicalName":"DLE.MultiSigOperation","id":960,"members":[{"constant":false,"id":941,"mutability":"mutable","name":"operationHash","nameLocation":"1991:13:6","nodeType":"VariableDeclaration","scope":960,"src":"1983:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1983:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":943,"mutability":"mutable","name":"forSignatures","nameLocation":"2022:13:6","nodeType":"VariableDeclaration","scope":960,"src":"2014:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":942,"name":"uint256","nodeType":"ElementaryTypeName","src":"2014:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":945,"mutability":"mutable","name":"againstSignatures","nameLocation":"2053:17:6","nodeType":"VariableDeclaration","scope":960,"src":"2045:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":944,"name":"uint256","nodeType":"ElementaryTypeName","src":"2045:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":947,"mutability":"mutable","name":"executed","nameLocation":"2085:8:6","nodeType":"VariableDeclaration","scope":960,"src":"2080:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":946,"name":"bool","nodeType":"ElementaryTypeName","src":"2080:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":949,"mutability":"mutable","name":"deadline","nameLocation":"2111:8:6","nodeType":"VariableDeclaration","scope":960,"src":"2103:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2103:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":951,"mutability":"mutable","name":"initiator","nameLocation":"2137:9:6","nodeType":"VariableDeclaration","scope":960,"src":"2129:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":950,"name":"address","nodeType":"ElementaryTypeName","src":"2129:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"hasSigned","nameLocation":"2181:9:6","nodeType":"VariableDeclaration","scope":960,"src":"2156:34:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":954,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":952,"name":"address","nodeType":"ElementaryTypeName","src":"2164:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2156:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":953,"name":"bool","nodeType":"ElementaryTypeName","src":"2175:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":959,"mutability":"mutable","name":"chainSignSynced","nameLocation":"2225:15:6","nodeType":"VariableDeclaration","scope":960,"src":"2200:40:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":958,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":956,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2200:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":957,"name":"bool","nodeType":"ElementaryTypeName","src":"2219:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"MultiSigOperation","nameLocation":"1955:17:6","nodeType":"StructDefinition","scope":2613,"src":"1948:376:6","visibility":"public"},{"constant":false,"functionSelector":"f2c26a47","id":963,"mutability":"mutable","name":"dleInfo","nameLocation":"2388:7:6","nodeType":"VariableDeclaration","scope":2613,"src":"2373:22:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_storage","typeString":"struct DLE.DLEInfo"},"typeName":{"id":962,"nodeType":"UserDefinedTypeName","pathNode":{"id":961,"name":"DLEInfo","nameLocations":["2373:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":885,"src":"2373:7:6"},"referencedDeclaration":885,"src":"2373:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_storage_ptr","typeString":"struct DLE.DLEInfo"}},"visibility":"public"},{"constant":false,"functionSelector":"4fa76ec9","id":965,"mutability":"mutable","name":"quorumPercentage","nameLocation":"2416:16:6","nodeType":"VariableDeclaration","scope":2613,"src":"2401:31:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":964,"name":"uint256","nodeType":"ElementaryTypeName","src":"2401:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"0c0512e9","id":967,"mutability":"mutable","name":"proposalCounter","nameLocation":"2453:15:6","nodeType":"VariableDeclaration","scope":2613,"src":"2438:30:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2438:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"8c7b04c9","id":969,"mutability":"mutable","name":"multiSigCounter","nameLocation":"2489:15:6","nodeType":"VariableDeclaration","scope":2613,"src":"2474:30:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":968,"name":"uint256","nodeType":"ElementaryTypeName","src":"2474:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"6cbadbfa","id":971,"mutability":"mutable","name":"currentChainId","nameLocation":"2525:14:6","nodeType":"VariableDeclaration","scope":2613,"src":"2510:29:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":970,"name":"uint256","nodeType":"ElementaryTypeName","src":"2510:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"b0b6cc1a","id":975,"mutability":"mutable","name":"modules","nameLocation":"2601:7:6","nodeType":"VariableDeclaration","scope":2613,"src":"2566:42:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":974,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2574:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2566:27:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":973,"name":"address","nodeType":"ElementaryTypeName","src":"2585:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"constant":false,"functionSelector":"b3fe8bcb","id":979,"mutability":"mutable","name":"activeModules","nameLocation":"2646:13:6","nodeType":"VariableDeclaration","scope":2613,"src":"2614:45:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"typeName":{"id":978,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2622:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2614:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":977,"name":"bool","nodeType":"ElementaryTypeName","src":"2633:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"constant":false,"functionSelector":"013cf08b","id":984,"mutability":"mutable","name":"proposals","nameLocation":"2762:9:6","nodeType":"VariableDeclaration","scope":2613,"src":"2726:45:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal)"},"typeName":{"id":983,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":980,"name":"uint256","nodeType":"ElementaryTypeName","src":"2734:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2726:28:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":982,"nodeType":"UserDefinedTypeName","pathNode":{"id":981,"name":"Proposal","nameLocations":["2745:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"2745:8:6"},"referencedDeclaration":939,"src":"2745:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}}},"visibility":"public"},{"constant":false,"functionSelector":"c51cab3a","id":989,"mutability":"mutable","name":"multiSigOperations","nameLocation":"2822:18:6","nodeType":"VariableDeclaration","scope":2613,"src":"2777:63:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation)"},"typeName":{"id":988,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":985,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2777:37:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":987,"nodeType":"UserDefinedTypeName","pathNode":{"id":986,"name":"MultiSigOperation","nameLocations":["2796:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":960,"src":"2796:17:6"},"referencedDeclaration":960,"src":"2796:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"}}},"visibility":"public"},{"constant":false,"functionSelector":"548d496f","id":993,"mutability":"mutable","name":"supportedChains","nameLocation":"2908:15:6","nodeType":"VariableDeclaration","scope":2613,"src":"2876:47:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":992,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":990,"name":"uint256","nodeType":"ElementaryTypeName","src":"2884:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2876:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":991,"name":"bool","nodeType":"ElementaryTypeName","src":"2895:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"constant":false,"functionSelector":"3b60288a","id":997,"mutability":"mutable","name":"executedProposals","nameLocation":"2961:17:6","nodeType":"VariableDeclaration","scope":2613,"src":"2929:49:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":996,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":994,"name":"uint256","nodeType":"ElementaryTypeName","src":"2937:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2929:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":995,"name":"bool","nodeType":"ElementaryTypeName","src":"2948:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"constant":false,"functionSelector":"af89d2c4","id":1001,"mutability":"mutable","name":"executedMultiSig","nameLocation":"3092:16:6","nodeType":"VariableDeclaration","scope":2613,"src":"3060:48:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"typeName":{"id":1000,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":998,"name":"uint256","nodeType":"ElementaryTypeName","src":"3068:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3060:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":999,"name":"bool","nodeType":"ElementaryTypeName","src":"3079:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"11b248463a1620b36a975da8f250009f56fb5dd0e9d5027a90a834d0ee84d6f6","id":1025,"name":"DLEInitialized","nameLocation":"3225:14:6","nodeType":"EventDefinition","parameters":{"id":1024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1003,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"3256:4:6","nodeType":"VariableDeclaration","scope":1025,"src":"3249:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1002,"name":"string","nodeType":"ElementaryTypeName","src":"3249:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1005,"indexed":false,"mutability":"mutable","name":"symbol","nameLocation":"3277:6:6","nodeType":"VariableDeclaration","scope":1025,"src":"3270:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1004,"name":"string","nodeType":"ElementaryTypeName","src":"3270:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1007,"indexed":false,"mutability":"mutable","name":"location","nameLocation":"3300:8:6","nodeType":"VariableDeclaration","scope":1025,"src":"3293:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1006,"name":"string","nodeType":"ElementaryTypeName","src":"3293:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1009,"indexed":false,"mutability":"mutable","name":"coordinates","nameLocation":"3325:11:6","nodeType":"VariableDeclaration","scope":1025,"src":"3318:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1008,"name":"string","nodeType":"ElementaryTypeName","src":"3318:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1011,"indexed":false,"mutability":"mutable","name":"jurisdiction","nameLocation":"3354:12:6","nodeType":"VariableDeclaration","scope":1025,"src":"3346:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1010,"name":"uint256","nodeType":"ElementaryTypeName","src":"3346:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1013,"indexed":false,"mutability":"mutable","name":"oktmo","nameLocation":"3384:5:6","nodeType":"VariableDeclaration","scope":1025,"src":"3376:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1012,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1016,"indexed":false,"mutability":"mutable","name":"okvedCodes","nameLocation":"3408:10:6","nodeType":"VariableDeclaration","scope":1025,"src":"3399:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1014,"name":"string","nodeType":"ElementaryTypeName","src":"3399:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1015,"nodeType":"ArrayTypeName","src":"3399:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1018,"indexed":false,"mutability":"mutable","name":"kpp","nameLocation":"3436:3:6","nodeType":"VariableDeclaration","scope":1025,"src":"3428:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"3428:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1020,"indexed":false,"mutability":"mutable","name":"tokenAddress","nameLocation":"3457:12:6","nodeType":"VariableDeclaration","scope":1025,"src":"3449:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1019,"name":"address","nodeType":"ElementaryTypeName","src":"3449:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1023,"indexed":false,"mutability":"mutable","name":"supportedChainIds","nameLocation":"3489:17:6","nodeType":"VariableDeclaration","scope":1025,"src":"3479:27:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1021,"name":"uint256","nodeType":"ElementaryTypeName","src":"3479:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1022,"nodeType":"ArrayTypeName","src":"3479:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3239:273:6"},"src":"3219:294:6"},{"anonymous":false,"eventSelector":"f9e7aa11bcdcbb8ac33b5dba92fca799ef091e54c29270822065501d8edea1a5","id":1033,"name":"InitialTokensDistributed","nameLocation":"3524:24:6","nodeType":"EventDefinition","parameters":{"id":1032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1028,"indexed":false,"mutability":"mutable","name":"partners","nameLocation":"3559:8:6","nodeType":"VariableDeclaration","scope":1033,"src":"3549:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1026,"name":"address","nodeType":"ElementaryTypeName","src":"3549:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1027,"nodeType":"ArrayTypeName","src":"3549:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1031,"indexed":false,"mutability":"mutable","name":"amounts","nameLocation":"3579:7:6","nodeType":"VariableDeclaration","scope":1033,"src":"3569:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1029,"name":"uint256","nodeType":"ElementaryTypeName","src":"3569:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1030,"nodeType":"ArrayTypeName","src":"3569:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3548:39:6"},"src":"3518:70:6"},{"anonymous":false,"eventSelector":"7585f467599d0f008985f231af99293be388626ac16ca59505c2f8f88969cd63","id":1041,"name":"ProposalCreated","nameLocation":"3599:15:6","nodeType":"EventDefinition","parameters":{"id":1040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1035,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3623:10:6","nodeType":"VariableDeclaration","scope":1041,"src":"3615:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"3615:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1037,"indexed":false,"mutability":"mutable","name":"initiator","nameLocation":"3643:9:6","nodeType":"VariableDeclaration","scope":1041,"src":"3635:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1036,"name":"address","nodeType":"ElementaryTypeName","src":"3635:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1039,"indexed":false,"mutability":"mutable","name":"description","nameLocation":"3661:11:6","nodeType":"VariableDeclaration","scope":1041,"src":"3654:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1038,"name":"string","nodeType":"ElementaryTypeName","src":"3654:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3614:59:6"},"src":"3593:81:6"},{"anonymous":false,"eventSelector":"78975aaf742630489badd22949b88ac50eaaea576339ee05440b671a33bfb6a9","id":1051,"name":"ProposalVoted","nameLocation":"3685:13:6","nodeType":"EventDefinition","parameters":{"id":1050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1043,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3707:10:6","nodeType":"VariableDeclaration","scope":1051,"src":"3699:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1042,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1045,"indexed":false,"mutability":"mutable","name":"voter","nameLocation":"3727:5:6","nodeType":"VariableDeclaration","scope":1051,"src":"3719:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1044,"name":"address","nodeType":"ElementaryTypeName","src":"3719:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1047,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"3739:7:6","nodeType":"VariableDeclaration","scope":1051,"src":"3734:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1046,"name":"bool","nodeType":"ElementaryTypeName","src":"3734:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1049,"indexed":false,"mutability":"mutable","name":"votingPower","nameLocation":"3756:11:6","nodeType":"VariableDeclaration","scope":1051,"src":"3748:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1048,"name":"uint256","nodeType":"ElementaryTypeName","src":"3748:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3698:70:6"},"src":"3679:90:6"},{"anonymous":false,"eventSelector":"badbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d2","id":1057,"name":"ProposalExecuted","nameLocation":"3780:16:6","nodeType":"EventDefinition","parameters":{"id":1056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1053,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"3805:10:6","nodeType":"VariableDeclaration","scope":1057,"src":"3797:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1052,"name":"uint256","nodeType":"ElementaryTypeName","src":"3797:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1055,"indexed":false,"mutability":"mutable","name":"operation","nameLocation":"3823:9:6","nodeType":"VariableDeclaration","scope":1057,"src":"3817:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1054,"name":"bytes","nodeType":"ElementaryTypeName","src":"3817:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3796:37:6"},"src":"3774:60:6"},{"anonymous":false,"eventSelector":"8d5c76b09b9c1f4d0453d21436dcb0b568a50e9c0ae059e4d0ae8c95c71d07f0","id":1065,"name":"MultiSigOperationCreated","nameLocation":"3845:24:6","nodeType":"EventDefinition","parameters":{"id":1064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1059,"indexed":false,"mutability":"mutable","name":"operationId","nameLocation":"3878:11:6","nodeType":"VariableDeclaration","scope":1065,"src":"3870:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1058,"name":"uint256","nodeType":"ElementaryTypeName","src":"3870:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1061,"indexed":false,"mutability":"mutable","name":"initiator","nameLocation":"3899:9:6","nodeType":"VariableDeclaration","scope":1065,"src":"3891:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1060,"name":"address","nodeType":"ElementaryTypeName","src":"3891:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1063,"indexed":false,"mutability":"mutable","name":"operationHash","nameLocation":"3918:13:6","nodeType":"VariableDeclaration","scope":1065,"src":"3910:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3910:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3869:63:6"},"src":"3839:94:6"},{"anonymous":false,"eventSelector":"78b8e65c466df05ea5ddf0593b44648eca1f35c039f180e31257a6f1bdd005dc","id":1075,"name":"MultiSigSigned","nameLocation":"3944:14:6","nodeType":"EventDefinition","parameters":{"id":1074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1067,"indexed":false,"mutability":"mutable","name":"operationId","nameLocation":"3967:11:6","nodeType":"VariableDeclaration","scope":1075,"src":"3959:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1066,"name":"uint256","nodeType":"ElementaryTypeName","src":"3959:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1069,"indexed":false,"mutability":"mutable","name":"signer","nameLocation":"3988:6:6","nodeType":"VariableDeclaration","scope":1075,"src":"3980:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1068,"name":"address","nodeType":"ElementaryTypeName","src":"3980:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1071,"indexed":false,"mutability":"mutable","name":"support","nameLocation":"4001:7:6","nodeType":"VariableDeclaration","scope":1075,"src":"3996:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1070,"name":"bool","nodeType":"ElementaryTypeName","src":"3996:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1073,"indexed":false,"mutability":"mutable","name":"signaturePower","nameLocation":"4018:14:6","nodeType":"VariableDeclaration","scope":1075,"src":"4010:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1072,"name":"uint256","nodeType":"ElementaryTypeName","src":"4010:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3958:75:6"},"src":"3938:96:6"},{"anonymous":false,"eventSelector":"64cee5a70d662a7eef5b2a171daa51dc624f3d64a35d0855b385262b893dc5a5","id":1081,"name":"MultiSigExecuted","nameLocation":"4045:16:6","nodeType":"EventDefinition","parameters":{"id":1080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1077,"indexed":false,"mutability":"mutable","name":"operationId","nameLocation":"4070:11:6","nodeType":"VariableDeclaration","scope":1081,"src":"4062:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1076,"name":"uint256","nodeType":"ElementaryTypeName","src":"4062:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1079,"indexed":false,"mutability":"mutable","name":"operationHash","nameLocation":"4091:13:6","nodeType":"VariableDeclaration","scope":1081,"src":"4083:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4083:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4061:44:6"},"src":"4039:67:6"},{"anonymous":false,"eventSelector":"f14475b19484bf096265507cc0c41cd3bf1994992088806830686e2d72722719","id":1087,"name":"ModuleAdded","nameLocation":"4117:11:6","nodeType":"EventDefinition","parameters":{"id":1086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1083,"indexed":false,"mutability":"mutable","name":"moduleId","nameLocation":"4137:8:6","nodeType":"VariableDeclaration","scope":1087,"src":"4129:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4129:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1085,"indexed":false,"mutability":"mutable","name":"moduleAddress","nameLocation":"4155:13:6","nodeType":"VariableDeclaration","scope":1087,"src":"4147:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1084,"name":"address","nodeType":"ElementaryTypeName","src":"4147:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4128:41:6"},"src":"4111:59:6"},{"anonymous":false,"eventSelector":"4c7c76abe482a2c36ea52f1b999474c69f8b4afeeac5635f8aea2526864ba853","id":1091,"name":"ModuleRemoved","nameLocation":"4181:13:6","nodeType":"EventDefinition","parameters":{"id":1090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1089,"indexed":false,"mutability":"mutable","name":"moduleId","nameLocation":"4203:8:6","nodeType":"VariableDeclaration","scope":1091,"src":"4195:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4195:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4194:18:6"},"src":"4175:38:6"},{"anonymous":false,"eventSelector":"42e60114b8bc5803b43a4bcd35572ece9a5e2cabb79a838a02d56a4c53e83313","id":1099,"name":"CrossChainExecutionSync","nameLocation":"4224:23:6","nodeType":"EventDefinition","parameters":{"id":1098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1093,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4256:10:6","nodeType":"VariableDeclaration","scope":1099,"src":"4248:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1092,"name":"uint256","nodeType":"ElementaryTypeName","src":"4248:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1095,"indexed":false,"mutability":"mutable","name":"fromChainId","nameLocation":"4276:11:6","nodeType":"VariableDeclaration","scope":1099,"src":"4268:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1094,"name":"uint256","nodeType":"ElementaryTypeName","src":"4268:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1097,"indexed":false,"mutability":"mutable","name":"toChainId","nameLocation":"4297:9:6","nodeType":"VariableDeclaration","scope":1099,"src":"4289:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1096,"name":"uint256","nodeType":"ElementaryTypeName","src":"4289:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4247:60:6"},"src":"4218:90:6"},{"anonymous":false,"eventSelector":"ca1838d50ca3156f1ace7cde39a081cc9c9a333af6fca55db71817f8717e1dcb","id":1107,"name":"CrossChainVoteSync","nameLocation":"4319:18:6","nodeType":"EventDefinition","parameters":{"id":1106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1101,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4346:10:6","nodeType":"VariableDeclaration","scope":1107,"src":"4338:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1100,"name":"uint256","nodeType":"ElementaryTypeName","src":"4338:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1103,"indexed":false,"mutability":"mutable","name":"fromChainId","nameLocation":"4366:11:6","nodeType":"VariableDeclaration","scope":1107,"src":"4358:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1102,"name":"uint256","nodeType":"ElementaryTypeName","src":"4358:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1105,"indexed":false,"mutability":"mutable","name":"toChainId","nameLocation":"4387:9:6","nodeType":"VariableDeclaration","scope":1107,"src":"4379:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1104,"name":"uint256","nodeType":"ElementaryTypeName","src":"4379:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4337:60:6"},"src":"4313:85:6"},{"anonymous":false,"eventSelector":"e379b3deb66ddfa7962a2bdf35e9a08b5bed672c9da3ecf7cc6174d253c6dfe5","id":1115,"name":"CrossChainMultiSigSync","nameLocation":"4409:22:6","nodeType":"EventDefinition","parameters":{"id":1114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1109,"indexed":false,"mutability":"mutable","name":"operationId","nameLocation":"4440:11:6","nodeType":"VariableDeclaration","scope":1115,"src":"4432:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1108,"name":"uint256","nodeType":"ElementaryTypeName","src":"4432:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1111,"indexed":false,"mutability":"mutable","name":"fromChainId","nameLocation":"4461:11:6","nodeType":"VariableDeclaration","scope":1115,"src":"4453:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1110,"name":"uint256","nodeType":"ElementaryTypeName","src":"4453:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1113,"indexed":false,"mutability":"mutable","name":"toChainId","nameLocation":"4482:9:6","nodeType":"VariableDeclaration","scope":1115,"src":"4474:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1112,"name":"uint256","nodeType":"ElementaryTypeName","src":"4474:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4431:61:6"},"src":"4403:90:6"},{"body":{"id":1285,"nodeType":"Block","src":"4617:1753:6","statements":[{"expression":{"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1129,"name":"dleInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"4627:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_storage","typeString":"struct DLE.DLEInfo storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":1131,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4665:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4672:4:6","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":887,"src":"4665:11:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1133,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4698:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4705:6:6","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":889,"src":"4698:13:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1135,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4735:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4742:8:6","memberName":"location","nodeType":"MemberAccess","referencedDeclaration":891,"src":"4735:15:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1137,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4777:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4784:11:6","memberName":"coordinates","nodeType":"MemberAccess","referencedDeclaration":893,"src":"4777:18:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1139,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4823:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4830:12:6","memberName":"jurisdiction","nodeType":"MemberAccess","referencedDeclaration":895,"src":"4823:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1141,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4863:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4870:5:6","memberName":"oktmo","nodeType":"MemberAccess","referencedDeclaration":897,"src":"4863:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1143,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4901:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4908:10:6","memberName":"okvedCodes","nodeType":"MemberAccess","referencedDeclaration":900,"src":"4901:17:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"expression":{"id":1145,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4937:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4944:3:6","memberName":"kpp","nodeType":"MemberAccess","referencedDeclaration":902,"src":"4937:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1147,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4980:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4986:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"4980:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":1149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5019:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1130,"name":"DLEInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":885,"src":"4637:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_DLEInfo_$885_storage_ptr_$","typeString":"type(struct DLE.DLEInfo storage pointer)"}},"id":1150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4659:4:6","4690:6:6","4725:8:6","4764:11:6","4809:12:6","4856:5:6","4889:10:6","4932:3:6","4961:17:6","5009:8:6"],"names":["name","symbol","location","coordinates","jurisdiction","oktmo","okvedCodes","kpp","creationTimestamp","isActive"],"nodeType":"FunctionCall","src":"4637:397:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_memory_ptr","typeString":"struct DLE.DLEInfo memory"}},"src":"4627:407:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_storage","typeString":"struct DLE.DLEInfo storage ref"}},"id":1152,"nodeType":"ExpressionStatement","src":"4627:407:6"},{"expression":{"id":1156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1153,"name":"quorumPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":965,"src":"5053:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1154,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5072:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5079:16:6","memberName":"quorumPercentage","nodeType":"MemberAccess","referencedDeclaration":904,"src":"5072:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5053:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1157,"nodeType":"ExpressionStatement","src":"5053:42:6"},{"expression":{"id":1160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1158,"name":"currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"5105:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1159,"name":"_currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1120,"src":"5122:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5105:32:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1161,"nodeType":"ExpressionStatement","src":"5105:32:6"},{"body":{"id":1183,"nodeType":"Block","src":"5288:76:6","statements":[{"expression":{"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1174,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"5302:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1179,"indexExpression":{"baseExpression":{"expression":{"id":1175,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5318:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5325:17:6","memberName":"supportedChainIds","nodeType":"MemberAccess","referencedDeclaration":913,"src":"5318:24:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1178,"indexExpression":{"id":1177,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"5343:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5318:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5302:44:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5349:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5302:51:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1182,"nodeType":"ExpressionStatement","src":"5302:51:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1166,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"5246:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":1167,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5250:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5257:17:6","memberName":"supportedChainIds","nodeType":"MemberAccess","referencedDeclaration":913,"src":"5250:24:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5275:6:6","memberName":"length","nodeType":"MemberAccess","src":"5250:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5246:35:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1184,"initializationExpression":{"assignments":[1163],"declarations":[{"constant":false,"id":1163,"mutability":"mutable","name":"i","nameLocation":"5239:1:6","nodeType":"VariableDeclaration","scope":1184,"src":"5231:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1162,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1165,"initialValue":{"hexValue":"30","id":1164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5243:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5231:13:6"},"loopExpression":{"expression":{"id":1172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5283:3:6","subExpression":{"id":1171,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"5283:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1173,"nodeType":"ExpressionStatement","src":"5283:3:6"},"nodeType":"ForStatement","src":"5226:138:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":1186,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5469:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5476:15:6","memberName":"initialPartners","nodeType":"MemberAccess","referencedDeclaration":907,"src":"5469:22:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5492:6:6","memberName":"length","nodeType":"MemberAccess","src":"5469:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":1189,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5502:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5509:14:6","memberName":"initialAmounts","nodeType":"MemberAccess","referencedDeclaration":910,"src":"5502:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5524:6:6","memberName":"length","nodeType":"MemberAccess","src":"5502:28:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5469:61:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"417272617973206c656e677468206d69736d61746368","id":1193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5532:24:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_582fd48f3876d7686bfeaaaa0db0589073271dedd50d66094f02fee2a3d2e01c","typeString":"literal_string \"Arrays length mismatch\""},"value":"Arrays length mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_582fd48f3876d7686bfeaaaa0db0589073271dedd50d66094f02fee2a3d2e01c","typeString":"literal_string \"Arrays length mismatch\""}],"id":1185,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5461:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:96:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1195,"nodeType":"ExpressionStatement","src":"5461:96:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":1197,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5575:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5582:15:6","memberName":"initialPartners","nodeType":"MemberAccess","referencedDeclaration":907,"src":"5575:22:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5598:6:6","memberName":"length","nodeType":"MemberAccess","src":"5575:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5607:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5575:33:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f20696e697469616c20706172746e657273","id":1202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5610:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_52ac33e2ca140c303c018eee17fe8221d2a3fad6b5586ebb7760b84287db7147","typeString":"literal_string \"No initial partners\""},"value":"No initial partners"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_52ac33e2ca140c303c018eee17fe8221d2a3fad6b5586ebb7760b84287db7147","typeString":"literal_string \"No initial partners\""}],"id":1196,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5567:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5567:65:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1204,"nodeType":"ExpressionStatement","src":"5567:65:6"},{"body":{"id":1251,"nodeType":"Block","src":"5711:227:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":1218,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5733:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5740:15:6","memberName":"initialPartners","nodeType":"MemberAccess","referencedDeclaration":907,"src":"5733:22:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1221,"indexExpression":{"id":1220,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1206,"src":"5756:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5733:25:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5770:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5762:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1222,"name":"address","nodeType":"ElementaryTypeName","src":"5762:7:6","typeDescriptions":{}}},"id":1225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5762:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5733:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a65726f2061646472657373","id":1227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5774:14:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_535d7636857fb1ab3a4f159f2a66b9583ce224510b4368fa2453e15bee0bc833","typeString":"literal_string \"Zero address\""},"value":"Zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_535d7636857fb1ab3a4f159f2a66b9583ce224510b4368fa2453e15bee0bc833","typeString":"literal_string \"Zero address\""}],"id":1217,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5725:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:64:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1229,"nodeType":"ExpressionStatement","src":"5725:64:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":1231,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5811:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5818:14:6","memberName":"initialAmounts","nodeType":"MemberAccess","referencedDeclaration":910,"src":"5811:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1234,"indexExpression":{"id":1233,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1206,"src":"5833:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5811:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5838:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5811:28:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a65726f20616d6f756e74","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5841:13:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_499f3f4b0ad3588aa1eb6e198be77bff643a4218ffbf2bef1370e58aadea5df4","typeString":"literal_string \"Zero amount\""},"value":"Zero amount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_499f3f4b0ad3588aa1eb6e198be77bff643a4218ffbf2bef1370e58aadea5df4","typeString":"literal_string \"Zero amount\""}],"id":1230,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5803:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5803:52:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1239,"nodeType":"ExpressionStatement","src":"5803:52:6"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":1241,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5875:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5882:15:6","memberName":"initialPartners","nodeType":"MemberAccess","referencedDeclaration":907,"src":"5875:22:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1244,"indexExpression":{"id":1243,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1206,"src":"5898:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5875:25:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"expression":{"id":1245,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5902:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5909:14:6","memberName":"initialAmounts","nodeType":"MemberAccess","referencedDeclaration":910,"src":"5902:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1248,"indexExpression":{"id":1247,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1206,"src":"5924:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5902:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1240,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"5869:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5869:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"ExpressionStatement","src":"5869:58:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1209,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1206,"src":"5671:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":1210,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5675:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5682:15:6","memberName":"initialPartners","nodeType":"MemberAccess","referencedDeclaration":907,"src":"5675:22:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5698:6:6","memberName":"length","nodeType":"MemberAccess","src":"5675:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5671:33:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1252,"initializationExpression":{"assignments":[1206],"declarations":[{"constant":false,"id":1206,"mutability":"mutable","name":"i","nameLocation":"5664:1:6","nodeType":"VariableDeclaration","scope":1252,"src":"5656:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1205,"name":"uint256","nodeType":"ElementaryTypeName","src":"5656:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1208,"initialValue":{"hexValue":"30","id":1207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5668:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5656:13:6"},"loopExpression":{"expression":{"id":1215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5706:3:6","subExpression":{"id":1214,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1206,"src":"5706:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1216,"nodeType":"ExpressionStatement","src":"5706:3:6"},"nodeType":"ForStatement","src":"5651:287:6"},{"eventCall":{"arguments":[{"expression":{"id":1254,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"5986:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5993:15:6","memberName":"initialPartners","nodeType":"MemberAccess","referencedDeclaration":907,"src":"5986:22:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"expression":{"id":1256,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6010:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6017:14:6","memberName":"initialAmounts","nodeType":"MemberAccess","referencedDeclaration":910,"src":"6010:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":1253,"name":"InitialTokensDistributed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1033,"src":"5961:24:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,uint256[] memory)"}},"id":1258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5961:71:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1259,"nodeType":"EmitStatement","src":"5956:76:6"},{"eventCall":{"arguments":[{"expression":{"id":1261,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6075:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6082:4:6","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":887,"src":"6075:11:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1263,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6100:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6107:6:6","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":889,"src":"6100:13:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1265,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6127:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6134:8:6","memberName":"location","nodeType":"MemberAccess","referencedDeclaration":891,"src":"6127:15:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1267,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6156:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6163:11:6","memberName":"coordinates","nodeType":"MemberAccess","referencedDeclaration":893,"src":"6156:18:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1269,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6188:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6195:12:6","memberName":"jurisdiction","nodeType":"MemberAccess","referencedDeclaration":895,"src":"6188:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1271,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6221:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1272,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6228:5:6","memberName":"oktmo","nodeType":"MemberAccess","referencedDeclaration":897,"src":"6221:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1273,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6247:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6254:10:6","memberName":"okvedCodes","nodeType":"MemberAccess","referencedDeclaration":900,"src":"6247:17:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"expression":{"id":1275,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6278:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6285:3:6","memberName":"kpp","nodeType":"MemberAccess","referencedDeclaration":902,"src":"6278:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":1279,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6310:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_DLE_$2613","typeString":"contract DLE"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DLE_$2613","typeString":"contract DLE"}],"id":1278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6302:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1277,"name":"address","nodeType":"ElementaryTypeName","src":"6302:7:6","typeDescriptions":{}}},"id":1280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6302:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1281,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"6329:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6336:17:6","memberName":"supportedChainIds","nodeType":"MemberAccess","referencedDeclaration":913,"src":"6329:24:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":1260,"name":"DLEInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1025,"src":"6047:14:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory,string memory,uint256,uint256,string memory[] memory,uint256,address,uint256[] memory)"}},"id":1283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6047:316:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1284,"nodeType":"EmitStatement","src":"6042:321:6"}]},"id":1286,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"expression":{"id":1123,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4589:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4596:4:6","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":887,"src":"4589:11:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1125,"name":"config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"4602:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig memory"}},"id":1126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4609:6:6","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":889,"src":"4602:13:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":1127,"kind":"baseConstructorSpecifier","modifierName":{"id":1122,"name":"ERC20","nameLocations":["4583:5:6"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"4583:5:6"},"nodeType":"ModifierInvocation","src":"4583:33:6"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1118,"mutability":"mutable","name":"config","nameLocation":"4537:6:6","nodeType":"VariableDeclaration","scope":1286,"src":"4520:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_memory_ptr","typeString":"struct DLE.DLEConfig"},"typeName":{"id":1117,"nodeType":"UserDefinedTypeName","pathNode":{"id":1116,"name":"DLEConfig","nameLocations":["4520:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":914,"src":"4520:9:6"},"referencedDeclaration":914,"src":"4520:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEConfig_$914_storage_ptr","typeString":"struct DLE.DLEConfig"}},"visibility":"internal"},{"constant":false,"id":1120,"mutability":"mutable","name":"_currentChainId","nameLocation":"4561:15:6","nodeType":"VariableDeclaration","scope":1286,"src":"4553:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1119,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4510:72:6"},"returnParameters":{"id":1128,"nodeType":"ParameterList","parameters":[],"src":"4617:0:6"},"scope":2613,"src":"4499:1871:6","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1404,"nodeType":"Block","src":"7000:842:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":1302,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7028:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7032:6:6","memberName":"sender","nodeType":"MemberAccess","src":"7028:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1301,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"7018:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7018:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7042:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7018:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d75737420686f6c6420746f6b656e7320746f206372656174652070726f706f73616c","id":1307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7045:37:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a2e6c5dda7c2ec2a91237927bcea1a227aaeb0a0dcd7bb09f5f8b66e3fd42c53","typeString":"literal_string \"Must hold tokens to create proposal\""},"value":"Must hold tokens to create proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a2e6c5dda7c2ec2a91237927bcea1a227aaeb0a0dcd7bb09f5f8b66e3fd42c53","typeString":"literal_string \"Must hold tokens to create proposal\""}],"id":1300,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7010:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7010:73:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1309,"nodeType":"ExpressionStatement","src":"7010:73:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1311,"name":"_duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"7101:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7113:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7101:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4475726174696f6e206d75737420626520706f736974697665","id":1314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7116:27:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2db737b4f72d51e5d9739ee51f563e55d139cf69c2c66e37332edb20f949e00","typeString":"literal_string \"Duration must be positive\""},"value":"Duration must be positive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e2db737b4f72d51e5d9739ee51f563e55d139cf69c2c66e37332edb20f949e00","typeString":"literal_string \"Duration must be positive\""}],"id":1310,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7093:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7093:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1316,"nodeType":"ExpressionStatement","src":"7093:51:6"},{"expression":{"arguments":[{"baseExpression":{"id":1318,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"7162:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1320,"indexExpression":{"id":1319,"name":"_governanceChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"7178:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7162:35:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436861696e206e6f7420737570706f72746564","id":1321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7199:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""},"value":"Chain not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""}],"id":1317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7154:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7154:67:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1323,"nodeType":"ExpressionStatement","src":"7154:67:6"},{"expression":{"arguments":[{"arguments":[{"id":1326,"name":"_governanceChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"7260:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1325,"name":"checkChainConnection","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2186,"src":"7239:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":1327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7239:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436861696e206e6f7420617661696c61626c65","id":1328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7281:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_d761b3d00f67c3638fc7145121be7a34feb3cfe2982cb2e73645fa1389c9e513","typeString":"literal_string \"Chain not available\""},"value":"Chain not available"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d761b3d00f67c3638fc7145121be7a34feb3cfe2982cb2e73645fa1389c9e513","typeString":"literal_string \"Chain not available\""}],"id":1324,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7231:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7231:72:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1330,"nodeType":"ExpressionStatement","src":"7231:72:6"},{"assignments":[1332],"declarations":[{"constant":false,"id":1332,"mutability":"mutable","name":"proposalId","nameLocation":"7322:10:6","nodeType":"VariableDeclaration","scope":1404,"src":"7314:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1331,"name":"uint256","nodeType":"ElementaryTypeName","src":"7314:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1335,"initialValue":{"id":1334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7335:17:6","subExpression":{"id":1333,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"7335:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7314:38:6"},{"assignments":[1338],"declarations":[{"constant":false,"id":1338,"mutability":"mutable","name":"proposal","nameLocation":"7379:8:6","nodeType":"VariableDeclaration","scope":1404,"src":"7362:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":1337,"nodeType":"UserDefinedTypeName","pathNode":{"id":1336,"name":"Proposal","nameLocations":["7362:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"7362:8:6"},"referencedDeclaration":939,"src":"7362:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":1342,"initialValue":{"baseExpression":{"id":1339,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"7390:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":1341,"indexExpression":{"id":1340,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1332,"src":"7400:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7390:21:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7362:49:6"},{"expression":{"id":1347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1343,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7430:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7439:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"7430:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1332,"src":"7444:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7430:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1348,"nodeType":"ExpressionStatement","src":"7430:24:6"},{"expression":{"id":1353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1349,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7464:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7473:11:6","memberName":"description","nodeType":"MemberAccess","referencedDeclaration":918,"src":"7464:20:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1352,"name":"_description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"7487:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7464:35:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1354,"nodeType":"ExpressionStatement","src":"7464:35:6"},{"expression":{"id":1359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1355,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7509:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7518:8:6","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":920,"src":"7509:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7529:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7509:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1360,"nodeType":"ExpressionStatement","src":"7509:21:6"},{"expression":{"id":1365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1361,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7540:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7549:12:6","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":922,"src":"7540:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7564:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7540:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1366,"nodeType":"ExpressionStatement","src":"7540:25:6"},{"expression":{"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1367,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7575:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7584:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":924,"src":"7575:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7595:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"7575:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1372,"nodeType":"ExpressionStatement","src":"7575:25:6"},{"expression":{"id":1380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1373,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7610:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7619:8:6","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":926,"src":"7610:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1376,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7630:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7636:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"7630:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":1378,"name":"_duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"7648:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7630:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7610:47:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1381,"nodeType":"ExpressionStatement","src":"7610:47:6"},{"expression":{"id":1387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1382,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7667:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7676:9:6","memberName":"initiator","nodeType":"MemberAccess","referencedDeclaration":928,"src":"7667:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7688:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7692:6:6","memberName":"sender","nodeType":"MemberAccess","src":"7688:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7667:31:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1388,"nodeType":"ExpressionStatement","src":"7667:31:6"},{"expression":{"id":1393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1389,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1338,"src":"7708:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7717:9:6","memberName":"operation","nodeType":"MemberAccess","referencedDeclaration":930,"src":"7708:18:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1392,"name":"_operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1293,"src":"7729:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7708:31:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":1394,"nodeType":"ExpressionStatement","src":"7708:31:6"},{"eventCall":{"arguments":[{"id":1396,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1332,"src":"7771:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1397,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7783:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7787:6:6","memberName":"sender","nodeType":"MemberAccess","src":"7783:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1399,"name":"_description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"7795:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1395,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"7755:15:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,address,string memory)"}},"id":1400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7755:53:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1401,"nodeType":"EmitStatement","src":"7750:58:6"},{"expression":{"id":1402,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1332,"src":"7825:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1299,"id":1403,"nodeType":"Return","src":"7818:17:6"}]},"documentation":{"id":1287,"nodeType":"StructuredDocumentation","src":"6376:429:6","text":" @dev Создать предложение с выбором цепочки для кворума\n @param _description Описание предложения\n @param _duration Длительность голосования в секундах\n @param _operation Операция для исполнения\n @param _governanceChainId ID цепочки для сбора голосов"},"functionSelector":"b3594510","id":1405,"implemented":true,"kind":"function","modifiers":[],"name":"createProposal","nameLocation":"6819:14:6","nodeType":"FunctionDefinition","parameters":{"id":1296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1289,"mutability":"mutable","name":"_description","nameLocation":"6857:12:6","nodeType":"VariableDeclaration","scope":1405,"src":"6843:26:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1288,"name":"string","nodeType":"ElementaryTypeName","src":"6843:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1291,"mutability":"mutable","name":"_duration","nameLocation":"6888:9:6","nodeType":"VariableDeclaration","scope":1405,"src":"6880:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1290,"name":"uint256","nodeType":"ElementaryTypeName","src":"6880:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1293,"mutability":"mutable","name":"_operation","nameLocation":"6920:10:6","nodeType":"VariableDeclaration","scope":1405,"src":"6907:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1292,"name":"bytes","nodeType":"ElementaryTypeName","src":"6907:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1295,"mutability":"mutable","name":"_governanceChainId","nameLocation":"6948:18:6","nodeType":"VariableDeclaration","scope":1405,"src":"6940:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"6940:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6833:139:6"},"returnParameters":{"id":1299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1405,"src":"6991:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1297,"name":"uint256","nodeType":"ElementaryTypeName","src":"6991:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6990:9:6"},"scope":2613,"src":"6810:1032:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1506,"nodeType":"Block","src":"8114:731:6","statements":[{"assignments":[1417],"declarations":[{"constant":false,"id":1417,"mutability":"mutable","name":"proposal","nameLocation":"8141:8:6","nodeType":"VariableDeclaration","scope":1506,"src":"8124:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":1416,"nodeType":"UserDefinedTypeName","pathNode":{"id":1415,"name":"Proposal","nameLocations":["8124:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"8124:8:6"},"referencedDeclaration":939,"src":"8124:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":1421,"initialValue":{"baseExpression":{"id":1418,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"8152:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":1420,"indexExpression":{"id":1419,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1408,"src":"8162:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8152:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8124:50:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1423,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8192:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8201:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"8192:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1425,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1408,"src":"8207:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8192:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20646f6573206e6f74206578697374","id":1427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8220:25:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""},"value":"Proposal does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""}],"id":1422,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8184:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8184:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1429,"nodeType":"ExpressionStatement","src":"8184:62:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1431,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8264:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8270:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"8264:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1433,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8282:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8291:8:6","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":926,"src":"8282:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8264:35:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f74696e6720656e646564","id":1436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8301:14:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_211d0608ef50debe6357d9eaeecace048d209b7b495f49840d398b4315c37db4","typeString":"literal_string \"Voting ended\""},"value":"Voting ended"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_211d0608ef50debe6357d9eaeecace048d209b7b495f49840d398b4315c37db4","typeString":"literal_string \"Voting ended\""}],"id":1430,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8256:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8256:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1438,"nodeType":"ExpressionStatement","src":"8256:60:6"},{"expression":{"arguments":[{"id":1442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8334:18:6","subExpression":{"expression":{"id":1440,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8335:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8344:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":924,"src":"8335:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20616c7265616479206578656375746564","id":1443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8354:27:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_2707e21e9aae26cb9edbd76c2d262b3de919daea0bd16a10af4500ba819ed5fd","typeString":"literal_string \"Proposal already executed\""},"value":"Proposal already executed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2707e21e9aae26cb9edbd76c2d262b3de919daea0bd16a10af4500ba819ed5fd","typeString":"literal_string \"Proposal already executed\""}],"id":1439,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8326:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8326:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1445,"nodeType":"ExpressionStatement","src":"8326:56:6"},{"expression":{"arguments":[{"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8400:30:6","subExpression":{"baseExpression":{"expression":{"id":1447,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8401:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8410:8:6","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":934,"src":"8401:17:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1451,"indexExpression":{"expression":{"id":1449,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8419:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8423:6:6","memberName":"sender","nodeType":"MemberAccess","src":"8419:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8401:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c726561647920766f746564","id":1453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8432:15:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6","typeString":"literal_string \"Already voted\""},"value":"Already voted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_512fc59044d4f0722f9346c450973ffe8aac7aa1142e536739987018593c53b6","typeString":"literal_string \"Already voted\""}],"id":1446,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8392:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8392:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1455,"nodeType":"ExpressionStatement","src":"8392:56:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":1458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8476:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8480:6:6","memberName":"sender","nodeType":"MemberAccess","src":"8476:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1457,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"8466:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8466:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8490:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8466:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f20746f6b656e7320746f20766f7465","id":1463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8493:19:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_824133654506f10a4f01c9f90ea8c64e0c5603376bd2f191fdab4c36e943ddd9","typeString":"literal_string \"No tokens to vote\""},"value":"No tokens to vote"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_824133654506f10a4f01c9f90ea8c64e0c5603376bd2f191fdab4c36e943ddd9","typeString":"literal_string \"No tokens to vote\""}],"id":1456,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8458:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8458:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1465,"nodeType":"ExpressionStatement","src":"8458:55:6"},{"assignments":[1467],"declarations":[{"constant":false,"id":1467,"mutability":"mutable","name":"votingPower","nameLocation":"8532:11:6","nodeType":"VariableDeclaration","scope":1506,"src":"8524:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1466,"name":"uint256","nodeType":"ElementaryTypeName","src":"8524:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1472,"initialValue":{"arguments":[{"expression":{"id":1469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8556:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8560:6:6","memberName":"sender","nodeType":"MemberAccess","src":"8556:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1468,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"8546:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8546:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8524:43:6"},{"expression":{"id":1480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":1473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8577:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8586:8:6","memberName":"hasVoted","nodeType":"MemberAccess","referencedDeclaration":934,"src":"8577:17:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1478,"indexExpression":{"expression":{"id":1475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8595:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8599:6:6","memberName":"sender","nodeType":"MemberAccess","src":"8595:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8577:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8609:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8577:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1481,"nodeType":"ExpressionStatement","src":"8577:36:6"},{"condition":{"id":1482,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1410,"src":"8628:8:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1496,"nodeType":"Block","src":"8701:61:6","statements":[{"expression":{"id":1494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1490,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8715:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1492,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8724:12:6","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":922,"src":"8715:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1493,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1467,"src":"8740:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8715:36:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1495,"nodeType":"ExpressionStatement","src":"8715:36:6"}]},"id":1497,"nodeType":"IfStatement","src":"8624:138:6","trueBody":{"id":1489,"nodeType":"Block","src":"8638:57:6","statements":[{"expression":{"id":1487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"8652:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8661:8:6","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":920,"src":"8652:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1486,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1467,"src":"8673:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8652:32:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1488,"nodeType":"ExpressionStatement","src":"8652:32:6"}]}},{"eventCall":{"arguments":[{"id":1499,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1408,"src":"8791:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1500,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8804:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8808:6:6","memberName":"sender","nodeType":"MemberAccess","src":"8804:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1502,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1410,"src":"8816:8:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1503,"name":"votingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1467,"src":"8826:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1498,"name":"ProposalVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"8777:13:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$returns$__$","typeString":"function (uint256,address,bool,uint256)"}},"id":1504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8777:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1505,"nodeType":"EmitStatement","src":"8772:66:6"}]},"documentation":{"id":1406,"nodeType":"StructuredDocumentation","src":"7848:189:6","text":" @dev Голосовать за предложение\n @param _proposalId ID предложения\n @param _support Поддержка предложения"},"functionSelector":"c9d27afe","id":1507,"implemented":true,"kind":"function","modifiers":[{"id":1413,"kind":"modifierInvocation","modifierName":{"id":1412,"name":"nonReentrant","nameLocations":["8101:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":818,"src":"8101:12:6"},"nodeType":"ModifierInvocation","src":"8101:12:6"}],"name":"vote","nameLocation":"8051:4:6","nodeType":"FunctionDefinition","parameters":{"id":1411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1408,"mutability":"mutable","name":"_proposalId","nameLocation":"8064:11:6","nodeType":"VariableDeclaration","scope":1507,"src":"8056:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1407,"name":"uint256","nodeType":"ElementaryTypeName","src":"8056:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1410,"mutability":"mutable","name":"_support","nameLocation":"8082:8:6","nodeType":"VariableDeclaration","scope":1507,"src":"8077:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1409,"name":"bool","nodeType":"ElementaryTypeName","src":"8077:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8055:36:6"},"returnParameters":{"id":1414,"nodeType":"ParameterList","parameters":[],"src":"8114:0:6"},"scope":2613,"src":"8042:803:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1578,"nodeType":"Block","src":"9385:733:6","statements":[{"assignments":[1523],"declarations":[{"constant":false,"id":1523,"mutability":"mutable","name":"proposal","nameLocation":"9412:8:6","nodeType":"VariableDeclaration","scope":1578,"src":"9395:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":1522,"nodeType":"UserDefinedTypeName","pathNode":{"id":1521,"name":"Proposal","nameLocations":["9395:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"9395:8:6"},"referencedDeclaration":939,"src":"9395:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":1527,"initialValue":{"baseExpression":{"id":1524,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"9423:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":1526,"indexExpression":{"id":1525,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"9433:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9423:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9395:50:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1529,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9463:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9472:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"9463:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1531,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"9478:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9463:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20646f6573206e6f74206578697374","id":1533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9491:25:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""},"value":"Proposal does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""}],"id":1528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9455:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9455:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1535,"nodeType":"ExpressionStatement","src":"9455:62:6"},{"expression":{"arguments":[{"baseExpression":{"id":1537,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"9535:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1539,"indexExpression":{"id":1538,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1512,"src":"9551:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9535:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436861696e206e6f7420737570706f72746564","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9566:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""},"value":"Chain not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""}],"id":1536,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9527:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9527:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1542,"nodeType":"ExpressionStatement","src":"9527:61:6"},{"expression":{"arguments":[{"id":1548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9606:39:6","subExpression":{"baseExpression":{"expression":{"id":1544,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9607:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9616:15:6","memberName":"chainVoteSynced","nodeType":"MemberAccess","referencedDeclaration":938,"src":"9607:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1547,"indexExpression":{"id":1546,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1512,"src":"9632:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9607:38:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c72656164792073796e636564","id":1549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9647:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b44f06818508537cd862b43fa1b8a2de6a736ed2a90106d9e7e0441faa96a2c5","typeString":"literal_string \"Already synced\""},"value":"Already synced"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b44f06818508537cd862b43fa1b8a2de6a736ed2a90106d9e7e0441faa96a2c5","typeString":"literal_string \"Already synced\""}],"id":1543,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9598:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9598:66:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1551,"nodeType":"ExpressionStatement","src":"9598:66:6"},{"expression":{"id":1556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1552,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9901:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9910:8:6","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":920,"src":"9901:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1555,"name":"_forVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1514,"src":"9922:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9901:30:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1557,"nodeType":"ExpressionStatement","src":"9901:30:6"},{"expression":{"id":1562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1558,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9941:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9950:12:6","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":922,"src":"9941:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1561,"name":"_againstVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"9966:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9941:38:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1563,"nodeType":"ExpressionStatement","src":"9941:38:6"},{"expression":{"id":1570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":1564,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9989:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1567,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9998:15:6","memberName":"chainVoteSynced","nodeType":"MemberAccess","referencedDeclaration":938,"src":"9989:24:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1568,"indexExpression":{"id":1566,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1512,"src":"10014:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9989:38:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10030:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9989:45:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"ExpressionStatement","src":"9989:45:6"},{"eventCall":{"arguments":[{"id":1573,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"10069:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1574,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1512,"src":"10082:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1575,"name":"currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"10096:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1572,"name":"CrossChainVoteSync","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"10050:18:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10050:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1577,"nodeType":"EmitStatement","src":"10045:66:6"}]},"documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"8851:335:6","text":" @dev Синхронизировать голос из другой цепочки\n @param _proposalId ID предложения\n @param _fromChainId ID цепочки откуда синхронизируем\n @param _forVotes Голоса за\n @param _againstVotes Голоса против"},"functionSelector":"456d10c1","id":1579,"implemented":true,"kind":"function","modifiers":[],"name":"syncVoteFromChain","nameLocation":"9200:17:6","nodeType":"FunctionDefinition","parameters":{"id":1519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1510,"mutability":"mutable","name":"_proposalId","nameLocation":"9235:11:6","nodeType":"VariableDeclaration","scope":1579,"src":"9227:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1509,"name":"uint256","nodeType":"ElementaryTypeName","src":"9227:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1512,"mutability":"mutable","name":"_fromChainId","nameLocation":"9264:12:6","nodeType":"VariableDeclaration","scope":1579,"src":"9256:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1511,"name":"uint256","nodeType":"ElementaryTypeName","src":"9256:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1514,"mutability":"mutable","name":"_forVotes","nameLocation":"9294:9:6","nodeType":"VariableDeclaration","scope":1579,"src":"9286:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1513,"name":"uint256","nodeType":"ElementaryTypeName","src":"9286:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1516,"mutability":"mutable","name":"_againstVotes","nameLocation":"9321:13:6","nodeType":"VariableDeclaration","scope":1579,"src":"9313:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1515,"name":"uint256","nodeType":"ElementaryTypeName","src":"9313:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1579,"src":"9344:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1517,"name":"bytes","nodeType":"ElementaryTypeName","src":"9344:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9217:158:6"},"returnParameters":{"id":1520,"nodeType":"ParameterList","parameters":[],"src":"9385:0:6"},"scope":2613,"src":"9191:927:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1642,"nodeType":"Block","src":"10498:476:6","statements":[{"assignments":[1591],"declarations":[{"constant":false,"id":1591,"mutability":"mutable","name":"proposal","nameLocation":"10525:8:6","nodeType":"VariableDeclaration","scope":1642,"src":"10508:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":1590,"nodeType":"UserDefinedTypeName","pathNode":{"id":1589,"name":"Proposal","nameLocations":["10508:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"10508:8:6"},"referencedDeclaration":939,"src":"10508:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":1595,"initialValue":{"baseExpression":{"id":1592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"10536:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":1594,"indexExpression":{"id":1593,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"10546:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10536:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10508:50:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1597,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10576:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10585:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"10576:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1599,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"10591:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10576:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20646f6573206e6f74206578697374","id":1601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10604:25:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""},"value":"Proposal does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""}],"id":1596,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10568:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10568:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1603,"nodeType":"ExpressionStatement","src":"10568:62:6"},{"assignments":[1605],"declarations":[{"constant":false,"id":1605,"mutability":"mutable","name":"totalVotes","nameLocation":"10649:10:6","nodeType":"VariableDeclaration","scope":1642,"src":"10641:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1604,"name":"uint256","nodeType":"ElementaryTypeName","src":"10641:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1611,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1606,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10662:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10671:8:6","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":920,"src":"10662:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":1608,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10682:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10691:12:6","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":922,"src":"10682:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10662:41:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10641:62:6"},{"assignments":[1613],"declarations":[{"constant":false,"id":1613,"mutability":"mutable","name":"quorumRequired","nameLocation":"10721:14:6","nodeType":"VariableDeclaration","scope":1642,"src":"10713:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1612,"name":"uint256","nodeType":"ElementaryTypeName","src":"10713:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1621,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":1614,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"10739:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":1615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1616,"name":"quorumPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":965,"src":"10755:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10739:32:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1618,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10738:34:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":1619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10775:3:6","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"10738:40:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10713:65:6"},{"expression":{"id":1626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1622,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1587,"src":"10797:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1623,"name":"totalVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"10813:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1624,"name":"quorumRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1613,"src":"10827:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10813:28:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10797:44:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1627,"nodeType":"ExpressionStatement","src":"10797:44:6"},{"expression":{"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1628,"name":"passed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1585,"src":"10851:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1629,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1587,"src":"10860:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1630,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10877:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10886:8:6","memberName":"forVotes","nodeType":"MemberAccess","referencedDeclaration":920,"src":"10877:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":1632,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10897:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10906:12:6","memberName":"againstVotes","nodeType":"MemberAccess","referencedDeclaration":922,"src":"10897:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10877:41:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10860:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10851:67:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1637,"nodeType":"ExpressionStatement","src":"10851:67:6"},{"expression":{"components":[{"id":1638,"name":"passed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1585,"src":"10945:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1639,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1587,"src":"10953:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":1640,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10944:23:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool)"}},"functionReturnParameters":1588,"id":1641,"nodeType":"Return","src":"10937:30:6"}]},"documentation":{"id":1580,"nodeType":"StructuredDocumentation","src":"10124:265:6","text":" @dev Проверить результат предложения\n @param _proposalId ID предложения\n @return passed Прошло ли предложение\n @return quorumReached Достигнут ли кворум"},"functionSelector":"7e5a9b47","id":1643,"implemented":true,"kind":"function","modifiers":[],"name":"checkProposalResult","nameLocation":"10403:19:6","nodeType":"FunctionDefinition","parameters":{"id":1583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1582,"mutability":"mutable","name":"_proposalId","nameLocation":"10431:11:6","nodeType":"VariableDeclaration","scope":1643,"src":"10423:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1581,"name":"uint256","nodeType":"ElementaryTypeName","src":"10423:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10422:21:6"},"returnParameters":{"id":1588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"passed","nameLocation":"10470:6:6","nodeType":"VariableDeclaration","scope":1643,"src":"10465:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1584,"name":"bool","nodeType":"ElementaryTypeName","src":"10465:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1587,"mutability":"mutable","name":"quorumReached","nameLocation":"10483:13:6","nodeType":"VariableDeclaration","scope":1643,"src":"10478:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1586,"name":"bool","nodeType":"ElementaryTypeName","src":"10478:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10464:33:6"},"scope":2613,"src":"10394:580:6","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":1712,"nodeType":"Block","src":"11157:635:6","statements":[{"assignments":[1651],"declarations":[{"constant":false,"id":1651,"mutability":"mutable","name":"proposal","nameLocation":"11184:8:6","nodeType":"VariableDeclaration","scope":1712,"src":"11167:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":1650,"nodeType":"UserDefinedTypeName","pathNode":{"id":1649,"name":"Proposal","nameLocations":["11167:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"11167:8:6"},"referencedDeclaration":939,"src":"11167:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":1655,"initialValue":{"baseExpression":{"id":1652,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"11195:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":1654,"indexExpression":{"id":1653,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"11205:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11195:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11167:50:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1657,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"11235:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11244:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"11235:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1659,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"11250:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11235:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20646f6573206e6f74206578697374","id":1661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11263:25:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""},"value":"Proposal does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""}],"id":1656,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11227:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11227:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1663,"nodeType":"ExpressionStatement","src":"11227:62:6"},{"expression":{"arguments":[{"id":1667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11307:18:6","subExpression":{"expression":{"id":1665,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"11308:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11317:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":924,"src":"11308:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20616c7265616479206578656375746564","id":1668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11327:27:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_2707e21e9aae26cb9edbd76c2d262b3de919daea0bd16a10af4500ba819ed5fd","typeString":"literal_string \"Proposal already executed\""},"value":"Proposal already executed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2707e21e9aae26cb9edbd76c2d262b3de919daea0bd16a10af4500ba819ed5fd","typeString":"literal_string \"Proposal already executed\""}],"id":1664,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11299:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11299:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1670,"nodeType":"ExpressionStatement","src":"11299:56:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1672,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"11373:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11379:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"11373:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":1674,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"11392:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11401:8:6","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":926,"src":"11392:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11373:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f74696e67206e6f7420656e646564","id":1677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11411:18:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa3afa53d79e86c3f6a23b414e9eaabf98604d6fc663aa1da275377424956dc3","typeString":"literal_string \"Voting not ended\""},"value":"Voting not ended"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa3afa53d79e86c3f6a23b414e9eaabf98604d6fc663aa1da275377424956dc3","typeString":"literal_string \"Voting not ended\""}],"id":1671,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11365:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11365:65:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1679,"nodeType":"ExpressionStatement","src":"11365:65:6"},{"assignments":[1681,1683],"declarations":[{"constant":false,"id":1681,"mutability":"mutable","name":"passed","nameLocation":"11447:6:6","nodeType":"VariableDeclaration","scope":1712,"src":"11442:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1680,"name":"bool","nodeType":"ElementaryTypeName","src":"11442:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1683,"mutability":"mutable","name":"quorumReached","nameLocation":"11460:13:6","nodeType":"VariableDeclaration","scope":1712,"src":"11455:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1682,"name":"bool","nodeType":"ElementaryTypeName","src":"11455:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1687,"initialValue":{"arguments":[{"id":1685,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"11497:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1684,"name":"checkProposalResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1643,"src":"11477:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_bool_$","typeString":"function (uint256) view returns (bool,bool)"}},"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11477:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"11441:68:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1689,"name":"passed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"11527:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":1690,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1683,"src":"11537:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11527:23:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c206e6f7420706173736564","id":1692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11552:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8789ac58780df0d349b543986ff0576f2825fbf77f8dd377739331d82041c18e","typeString":"literal_string \"Proposal not passed\""},"value":"Proposal not passed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8789ac58780df0d349b543986ff0576f2825fbf77f8dd377739331d82041c18e","typeString":"literal_string \"Proposal not passed\""}],"id":1688,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11519:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11519:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1694,"nodeType":"ExpressionStatement","src":"11519:55:6"},{"expression":{"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1695,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"11585:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11594:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":924,"src":"11585:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11605:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11585:24:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1700,"nodeType":"ExpressionStatement","src":"11585:24:6"},{"expression":{"arguments":[{"expression":{"id":1702,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"11693:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11702:9:6","memberName":"operation","nodeType":"MemberAccess","referencedDeclaration":930,"src":"11693:18:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"id":1701,"name":"_executeOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2457,"src":"11675:17:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":1704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11675:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1705,"nodeType":"ExpressionStatement","src":"11675:37:6"},{"eventCall":{"arguments":[{"id":1707,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"11753:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1708,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"11766:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":1709,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11775:9:6","memberName":"operation","nodeType":"MemberAccess","referencedDeclaration":930,"src":"11766:18:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"id":1706,"name":"ProposalExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"11736:16:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":1710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11736:49:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1711,"nodeType":"EmitStatement","src":"11731:54:6"}]},"documentation":{"id":1644,"nodeType":"StructuredDocumentation","src":"10980:117:6","text":" @dev Исполнить предложение\n @param _proposalId ID предложения"},"functionSelector":"0d61b519","id":1713,"implemented":true,"kind":"function","modifiers":[],"name":"executeProposal","nameLocation":"11111:15:6","nodeType":"FunctionDefinition","parameters":{"id":1647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1646,"mutability":"mutable","name":"_proposalId","nameLocation":"11135:11:6","nodeType":"VariableDeclaration","scope":1713,"src":"11127:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1645,"name":"uint256","nodeType":"ElementaryTypeName","src":"11127:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11126:21:6"},"returnParameters":{"id":1648,"nodeType":"ParameterList","parameters":[],"src":"11157:0:6"},"scope":2613,"src":"11102:690:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1801,"nodeType":"Block","src":"12140:663:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":1725,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12168:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12172:6:6","memberName":"sender","nodeType":"MemberAccess","src":"12168:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1724,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"12158:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12158:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12182:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12158:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d75737420686f6c6420746f6b656e7320746f20637265617465206f7065726174696f6e","id":1730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12185:38:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c6044429574409cde35868815ebf07dd07f140f75d3558ab1494a2cd4af78a","typeString":"literal_string \"Must hold tokens to create operation\""},"value":"Must hold tokens to create operation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b4c6044429574409cde35868815ebf07dd07f140f75d3558ab1494a2cd4af78a","typeString":"literal_string \"Must hold tokens to create operation\""}],"id":1723,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12150:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12150:74:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"12150:74:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1734,"name":"_duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1718,"src":"12242:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12254:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12242:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4475726174696f6e206d75737420626520706f736974697665","id":1737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12257:27:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2db737b4f72d51e5d9739ee51f563e55d139cf69c2c66e37332edb20f949e00","typeString":"literal_string \"Duration must be positive\""},"value":"Duration must be positive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e2db737b4f72d51e5d9739ee51f563e55d139cf69c2c66e37332edb20f949e00","typeString":"literal_string \"Duration must be positive\""}],"id":1733,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12234:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12234:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1739,"nodeType":"ExpressionStatement","src":"12234:51:6"},{"assignments":[1741],"declarations":[{"constant":false,"id":1741,"mutability":"mutable","name":"operationId","nameLocation":"12304:11:6","nodeType":"VariableDeclaration","scope":1801,"src":"12296:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1740,"name":"uint256","nodeType":"ElementaryTypeName","src":"12296:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1744,"initialValue":{"id":1743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12318:17:6","subExpression":{"id":1742,"name":"multiSigCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":969,"src":"12318:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12296:39:6"},{"assignments":[1747],"declarations":[{"constant":false,"id":1747,"mutability":"mutable","name":"operation","nameLocation":"12371:9:6","nodeType":"VariableDeclaration","scope":1801,"src":"12345:35:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"},"typeName":{"id":1746,"nodeType":"UserDefinedTypeName","pathNode":{"id":1745,"name":"MultiSigOperation","nameLocations":["12345:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":960,"src":"12345:17:6"},"referencedDeclaration":960,"src":"12345:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"}},"visibility":"internal"}],"id":1751,"initialValue":{"baseExpression":{"id":1748,"name":"multiSigOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":989,"src":"12383:18:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation storage ref)"}},"id":1750,"indexExpression":{"id":1749,"name":"operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"12402:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12383:31:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage","typeString":"struct DLE.MultiSigOperation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12345:69:6"},{"expression":{"id":1756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1752,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12433:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12443:13:6","memberName":"operationHash","nodeType":"MemberAccess","referencedDeclaration":941,"src":"12433:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1755,"name":"_operationHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1716,"src":"12459:14:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12433:40:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1757,"nodeType":"ExpressionStatement","src":"12433:40:6"},{"expression":{"id":1762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1758,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12483:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12493:13:6","memberName":"forSignatures","nodeType":"MemberAccess","referencedDeclaration":943,"src":"12483:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12509:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12483:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1763,"nodeType":"ExpressionStatement","src":"12483:27:6"},{"expression":{"id":1768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1764,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12520:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12530:17:6","memberName":"againstSignatures","nodeType":"MemberAccess","referencedDeclaration":945,"src":"12520:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12550:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12520:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1769,"nodeType":"ExpressionStatement","src":"12520:31:6"},{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1770,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12561:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12571:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":947,"src":"12561:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12582:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"12561:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1775,"nodeType":"ExpressionStatement","src":"12561:26:6"},{"expression":{"id":1783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1776,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12597:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12607:8:6","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":949,"src":"12597:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1779,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12618:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12624:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"12618:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":1781,"name":"_duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1718,"src":"12636:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12618:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12597:48:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1784,"nodeType":"ExpressionStatement","src":"12597:48:6"},{"expression":{"id":1790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1785,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12655:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1787,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12665:9:6","memberName":"initiator","nodeType":"MemberAccess","referencedDeclaration":951,"src":"12655:19:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1788,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12677:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12681:6:6","memberName":"sender","nodeType":"MemberAccess","src":"12677:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12655:32:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1791,"nodeType":"ExpressionStatement","src":"12655:32:6"},{"eventCall":{"arguments":[{"id":1793,"name":"operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"12728:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1794,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12741:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12745:6:6","memberName":"sender","nodeType":"MemberAccess","src":"12741:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1796,"name":"_operationHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1716,"src":"12753:14:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1792,"name":"MultiSigOperationCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"12703:24:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$__$","typeString":"function (uint256,address,bytes32)"}},"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12703:65:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1798,"nodeType":"EmitStatement","src":"12698:70:6"},{"expression":{"id":1799,"name":"operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"12785:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1722,"id":1800,"nodeType":"Return","src":"12778:18:6"}]},"documentation":{"id":1714,"nodeType":"StructuredDocumentation","src":"11798:212:6","text":" @dev Создать мультиподпись операцию\n @param _operationHash Хеш операции\n @param _duration Длительность сбора подписей"},"functionSelector":"b00e0730","id":1802,"implemented":true,"kind":"function","modifiers":[],"name":"createMultiSigOperation","nameLocation":"12024:23:6","nodeType":"FunctionDefinition","parameters":{"id":1719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1716,"mutability":"mutable","name":"_operationHash","nameLocation":"12065:14:6","nodeType":"VariableDeclaration","scope":1802,"src":"12057:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12057:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1718,"mutability":"mutable","name":"_duration","nameLocation":"12097:9:6","nodeType":"VariableDeclaration","scope":1802,"src":"12089:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1717,"name":"uint256","nodeType":"ElementaryTypeName","src":"12089:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12047:65:6"},"returnParameters":{"id":1722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1802,"src":"12131:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1720,"name":"uint256","nodeType":"ElementaryTypeName","src":"12131:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12130:9:6"},"scope":2613,"src":"12015:788:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1906,"nodeType":"Block","src":"13096:798:6","statements":[{"assignments":[1814],"declarations":[{"constant":false,"id":1814,"mutability":"mutable","name":"operation","nameLocation":"13132:9:6","nodeType":"VariableDeclaration","scope":1906,"src":"13106:35:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"},"typeName":{"id":1813,"nodeType":"UserDefinedTypeName","pathNode":{"id":1812,"name":"MultiSigOperation","nameLocations":["13106:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":960,"src":"13106:17:6"},"referencedDeclaration":960,"src":"13106:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"}},"visibility":"internal"}],"id":1818,"initialValue":{"baseExpression":{"id":1815,"name":"multiSigOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":989,"src":"13144:18:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation storage ref)"}},"id":1817,"indexExpression":{"id":1816,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1805,"src":"13163:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13144:32:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage","typeString":"struct DLE.MultiSigOperation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13106:70:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1820,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13194:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13204:13:6","memberName":"operationHash","nodeType":"MemberAccess","referencedDeclaration":941,"src":"13194:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13229:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13221:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13221:7:6","typeDescriptions":{}}},"id":1825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13221:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13194:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e20646f6573206e6f74206578697374","id":1827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13233:26:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""},"value":"Operation does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""}],"id":1819,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13186:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13186:74:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1829,"nodeType":"ExpressionStatement","src":"13186:74:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1831,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"13278:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13284:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"13278:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1833,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13296:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13306:8:6","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":949,"src":"13296:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13278:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5369676e696e6720656e646564","id":1836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13316:15:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_950f8cf6a836192653a57ac3dc657e6414282f8063b5c5cd97e12fa3582f7f0b","typeString":"literal_string \"Signing ended\""},"value":"Signing ended"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_950f8cf6a836192653a57ac3dc657e6414282f8063b5c5cd97e12fa3582f7f0b","typeString":"literal_string \"Signing ended\""}],"id":1830,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13270:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13270:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1838,"nodeType":"ExpressionStatement","src":"13270:62:6"},{"expression":{"arguments":[{"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13350:19:6","subExpression":{"expression":{"id":1840,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13351:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1841,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13361:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":947,"src":"13351:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e20616c7265616479206578656375746564","id":1843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13371:28:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5564caec237b09b54a365c80dad399a0b91f87583021f6a1ecdbdaef10f306a","typeString":"literal_string \"Operation already executed\""},"value":"Operation already executed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d5564caec237b09b54a365c80dad399a0b91f87583021f6a1ecdbdaef10f306a","typeString":"literal_string \"Operation already executed\""}],"id":1839,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13342:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13342:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1845,"nodeType":"ExpressionStatement","src":"13342:58:6"},{"expression":{"arguments":[{"id":1852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13418:32:6","subExpression":{"baseExpression":{"expression":{"id":1847,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13419:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13429:9:6","memberName":"hasSigned","nodeType":"MemberAccess","referencedDeclaration":955,"src":"13419:19:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1851,"indexExpression":{"expression":{"id":1849,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13439:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13443:6:6","memberName":"sender","nodeType":"MemberAccess","src":"13439:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13419:31:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c7265616479207369676e6564","id":1853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13452:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_988ed7cc4955768d49d35b181a2bc2b0514174494b33f90da8e2fba3c967c228","typeString":"literal_string \"Already signed\""},"value":"Already signed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_988ed7cc4955768d49d35b181a2bc2b0514174494b33f90da8e2fba3c967c228","typeString":"literal_string \"Already signed\""}],"id":1846,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13410:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13410:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1855,"nodeType":"ExpressionStatement","src":"13410:59:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":1858,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13497:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13501:6:6","memberName":"sender","nodeType":"MemberAccess","src":"13497:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1857,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"13487:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13487:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13511:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13487:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f20746f6b656e7320746f207369676e","id":1863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13514:19:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_37e2d833e560c1ccf9c683771d8d4f9f76f0218dc9c833046d68f1d43e310ed7","typeString":"literal_string \"No tokens to sign\""},"value":"No tokens to sign"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_37e2d833e560c1ccf9c683771d8d4f9f76f0218dc9c833046d68f1d43e310ed7","typeString":"literal_string \"No tokens to sign\""}],"id":1856,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13479:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13479:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1865,"nodeType":"ExpressionStatement","src":"13479:55:6"},{"assignments":[1867],"declarations":[{"constant":false,"id":1867,"mutability":"mutable","name":"signaturePower","nameLocation":"13553:14:6","nodeType":"VariableDeclaration","scope":1906,"src":"13545:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1866,"name":"uint256","nodeType":"ElementaryTypeName","src":"13545:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1872,"initialValue":{"arguments":[{"expression":{"id":1869,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13580:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13584:6:6","memberName":"sender","nodeType":"MemberAccess","src":"13580:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1868,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"13570:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13570:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13545:46:6"},{"expression":{"id":1880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":1873,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13601:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1877,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13611:9:6","memberName":"hasSigned","nodeType":"MemberAccess","referencedDeclaration":955,"src":"13601:19:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1878,"indexExpression":{"expression":{"id":1875,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13621:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13625:6:6","memberName":"sender","nodeType":"MemberAccess","src":"13621:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13601:31:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13635:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13601:38:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1881,"nodeType":"ExpressionStatement","src":"13601:38:6"},{"condition":{"id":1882,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"13654:8:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1896,"nodeType":"Block","src":"13736:70:6","statements":[{"expression":{"id":1894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1890,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13750:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13760:17:6","memberName":"againstSignatures","nodeType":"MemberAccess","referencedDeclaration":945,"src":"13750:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1893,"name":"signaturePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"13781:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13750:45:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1895,"nodeType":"ExpressionStatement","src":"13750:45:6"}]},"id":1897,"nodeType":"IfStatement","src":"13650:156:6","trueBody":{"id":1889,"nodeType":"Block","src":"13664:66:6","statements":[{"expression":{"id":1887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1883,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13678:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13688:13:6","memberName":"forSignatures","nodeType":"MemberAccess","referencedDeclaration":943,"src":"13678:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1886,"name":"signaturePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"13705:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13678:41:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1888,"nodeType":"ExpressionStatement","src":"13678:41:6"}]}},{"eventCall":{"arguments":[{"id":1899,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1805,"src":"13836:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1900,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13850:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13854:6:6","memberName":"sender","nodeType":"MemberAccess","src":"13850:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1902,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"13862:8:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1903,"name":"signaturePower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"13872:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1898,"name":"MultiSigSigned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1075,"src":"13821:14:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$returns$__$","typeString":"function (uint256,address,bool,uint256)"}},"id":1904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13821:66:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1905,"nodeType":"EmitStatement","src":"13816:71:6"}]},"documentation":{"id":1803,"nodeType":"StructuredDocumentation","src":"12809:192:6","text":" @dev Подписать мультиподпись операцию\n @param _operationId ID операции\n @param _support Поддержка операции"},"functionSelector":"ccd7a490","id":1907,"implemented":true,"kind":"function","modifiers":[{"id":1810,"kind":"modifierInvocation","modifierName":{"id":1809,"name":"nonReentrant","nameLocations":["13083:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":818,"src":"13083:12:6"},"nodeType":"ModifierInvocation","src":"13083:12:6"}],"name":"signMultiSigOperation","nameLocation":"13015:21:6","nodeType":"FunctionDefinition","parameters":{"id":1808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1805,"mutability":"mutable","name":"_operationId","nameLocation":"13045:12:6","nodeType":"VariableDeclaration","scope":1907,"src":"13037:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1804,"name":"uint256","nodeType":"ElementaryTypeName","src":"13037:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1807,"mutability":"mutable","name":"_support","nameLocation":"13064:8:6","nodeType":"VariableDeclaration","scope":1907,"src":"13059:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1806,"name":"bool","nodeType":"ElementaryTypeName","src":"13059:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13036:37:6"},"returnParameters":{"id":1811,"nodeType":"ParameterList","parameters":[],"src":"13096:0:6"},"scope":2613,"src":"13006:888:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1981,"nodeType":"Block","src":"14474:747:6","statements":[{"assignments":[1923],"declarations":[{"constant":false,"id":1923,"mutability":"mutable","name":"operation","nameLocation":"14510:9:6","nodeType":"VariableDeclaration","scope":1981,"src":"14484:35:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"},"typeName":{"id":1922,"nodeType":"UserDefinedTypeName","pathNode":{"id":1921,"name":"MultiSigOperation","nameLocations":["14484:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":960,"src":"14484:17:6"},"referencedDeclaration":960,"src":"14484:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"}},"visibility":"internal"}],"id":1927,"initialValue":{"baseExpression":{"id":1924,"name":"multiSigOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":989,"src":"14522:18:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation storage ref)"}},"id":1926,"indexExpression":{"id":1925,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1910,"src":"14541:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14522:32:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage","typeString":"struct DLE.MultiSigOperation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14484:70:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1929,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1923,"src":"14572:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14582:13:6","memberName":"operationHash","nodeType":"MemberAccess","referencedDeclaration":941,"src":"14572:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14607:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14599:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14599:7:6","typeDescriptions":{}}},"id":1934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"14572:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e20646f6573206e6f74206578697374","id":1936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14611:26:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""},"value":"Operation does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""}],"id":1928,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14564:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14564:74:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1938,"nodeType":"ExpressionStatement","src":"14564:74:6"},{"expression":{"arguments":[{"baseExpression":{"id":1940,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"14656:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1942,"indexExpression":{"id":1941,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1912,"src":"14672:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14656:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436861696e206e6f7420737570706f72746564","id":1943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14687:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""},"value":"Chain not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""}],"id":1939,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14648:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14648:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1945,"nodeType":"ExpressionStatement","src":"14648:61:6"},{"expression":{"arguments":[{"id":1951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14727:40:6","subExpression":{"baseExpression":{"expression":{"id":1947,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1923,"src":"14728:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:15:6","memberName":"chainSignSynced","nodeType":"MemberAccess","referencedDeclaration":959,"src":"14728:25:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1950,"indexExpression":{"id":1949,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1912,"src":"14754:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14728:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c72656164792073796e636564","id":1952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14769:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b44f06818508537cd862b43fa1b8a2de6a736ed2a90106d9e7e0441faa96a2c5","typeString":"literal_string \"Already synced\""},"value":"Already synced"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b44f06818508537cd862b43fa1b8a2de6a736ed2a90106d9e7e0441faa96a2c5","typeString":"literal_string \"Already synced\""}],"id":1946,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14719:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14719:67:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1954,"nodeType":"ExpressionStatement","src":"14719:67:6"},{"expression":{"id":1959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1955,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1923,"src":"14976:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14986:13:6","memberName":"forSignatures","nodeType":"MemberAccess","referencedDeclaration":943,"src":"14976:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1958,"name":"_forSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"15003:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14976:41:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1960,"nodeType":"ExpressionStatement","src":"14976:41:6"},{"expression":{"id":1965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1961,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1923,"src":"15027:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15037:17:6","memberName":"againstSignatures","nodeType":"MemberAccess","referencedDeclaration":945,"src":"15027:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1964,"name":"_againstSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1916,"src":"15058:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15027:49:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1966,"nodeType":"ExpressionStatement","src":"15027:49:6"},{"expression":{"id":1973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":1967,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1923,"src":"15086:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":1970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15096:15:6","memberName":"chainSignSynced","nodeType":"MemberAccess","referencedDeclaration":959,"src":"15086:25:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":1971,"indexExpression":{"id":1969,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1912,"src":"15112:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15086:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15128:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15086:46:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1974,"nodeType":"ExpressionStatement","src":"15086:46:6"},{"eventCall":{"arguments":[{"id":1976,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1910,"src":"15171:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1977,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1912,"src":"15185:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1978,"name":"currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"15199:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1975,"name":"CrossChainMultiSigSync","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1115,"src":"15148:22:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15148:66:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1980,"nodeType":"EmitStatement","src":"15143:71:6"}]},"documentation":{"id":1908,"nodeType":"StructuredDocumentation","src":"13900:360:6","text":" @dev Синхронизировать мультиподпись из другой цепочки\n @param _operationId ID операции\n @param _fromChainId ID цепочки откуда синхронизируем\n @param _forSignatures Подписи за\n @param _againstSignatures Подписи против"},"functionSelector":"2ee09598","id":1982,"implemented":true,"kind":"function","modifiers":[],"name":"syncMultiSigFromChain","nameLocation":"14274:21:6","nodeType":"FunctionDefinition","parameters":{"id":1919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1910,"mutability":"mutable","name":"_operationId","nameLocation":"14313:12:6","nodeType":"VariableDeclaration","scope":1982,"src":"14305:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1909,"name":"uint256","nodeType":"ElementaryTypeName","src":"14305:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1912,"mutability":"mutable","name":"_fromChainId","nameLocation":"14343:12:6","nodeType":"VariableDeclaration","scope":1982,"src":"14335:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1911,"name":"uint256","nodeType":"ElementaryTypeName","src":"14335:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1914,"mutability":"mutable","name":"_forSignatures","nameLocation":"14373:14:6","nodeType":"VariableDeclaration","scope":1982,"src":"14365:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1913,"name":"uint256","nodeType":"ElementaryTypeName","src":"14365:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1916,"mutability":"mutable","name":"_againstSignatures","nameLocation":"14405:18:6","nodeType":"VariableDeclaration","scope":1982,"src":"14397:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1915,"name":"uint256","nodeType":"ElementaryTypeName","src":"14397:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1982,"src":"14433:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1917,"name":"bytes","nodeType":"ElementaryTypeName","src":"14433:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14295:169:6"},"returnParameters":{"id":1920,"nodeType":"ParameterList","parameters":[],"src":"14474:0:6"},"scope":2613,"src":"14265:956:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2048,"nodeType":"Block","src":"15595:542:6","statements":[{"assignments":[1994],"declarations":[{"constant":false,"id":1994,"mutability":"mutable","name":"operation","nameLocation":"15631:9:6","nodeType":"VariableDeclaration","scope":2048,"src":"15605:35:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"},"typeName":{"id":1993,"nodeType":"UserDefinedTypeName","pathNode":{"id":1992,"name":"MultiSigOperation","nameLocations":["15605:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":960,"src":"15605:17:6"},"referencedDeclaration":960,"src":"15605:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"}},"visibility":"internal"}],"id":1998,"initialValue":{"baseExpression":{"id":1995,"name":"multiSigOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":989,"src":"15643:18:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation storage ref)"}},"id":1997,"indexExpression":{"id":1996,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1985,"src":"15662:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15643:32:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage","typeString":"struct DLE.MultiSigOperation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15605:70:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2000,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"15693:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15703:13:6","memberName":"operationHash","nodeType":"MemberAccess","referencedDeclaration":941,"src":"15693:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15728:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15720:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2002,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15720:7:6","typeDescriptions":{}}},"id":2005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15720:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"15693:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e20646f6573206e6f74206578697374","id":2007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15732:26:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""},"value":"Operation does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""}],"id":1999,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15685:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15685:74:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"15685:74:6"},{"assignments":[2011],"declarations":[{"constant":false,"id":2011,"mutability":"mutable","name":"totalSignatures","nameLocation":"15778:15:6","nodeType":"VariableDeclaration","scope":2048,"src":"15770:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2010,"name":"uint256","nodeType":"ElementaryTypeName","src":"15770:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2017,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2012,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"15796:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15806:13:6","memberName":"forSignatures","nodeType":"MemberAccess","referencedDeclaration":943,"src":"15796:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":2014,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"15822:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15832:17:6","memberName":"againstSignatures","nodeType":"MemberAccess","referencedDeclaration":945,"src":"15822:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15796:53:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15770:79:6"},{"assignments":[2019],"declarations":[{"constant":false,"id":2019,"mutability":"mutable","name":"quorumRequired","nameLocation":"15867:14:6","nodeType":"VariableDeclaration","scope":2048,"src":"15859:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2018,"name":"uint256","nodeType":"ElementaryTypeName","src":"15859:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2027,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2020,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"15885:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":2021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15885:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2022,"name":"quorumPercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":965,"src":"15901:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15885:32:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15884:34:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":2025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15921:3:6","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"15884:40:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15859:65:6"},{"expression":{"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2028,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"15943:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2029,"name":"totalSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2011,"src":"15959:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":2030,"name":"quorumRequired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2019,"src":"15978:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15959:33:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15943:49:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2033,"nodeType":"ExpressionStatement","src":"15943:49:6"},{"expression":{"id":2042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2034,"name":"passed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"16002:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2035,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16011:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2036,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"16028:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2037,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16038:13:6","memberName":"forSignatures","nodeType":"MemberAccess","referencedDeclaration":943,"src":"16028:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":2038,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"16054:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16064:17:6","memberName":"againstSignatures","nodeType":"MemberAccess","referencedDeclaration":945,"src":"16054:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16028:53:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16011:70:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16002:79:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2043,"nodeType":"ExpressionStatement","src":"16002:79:6"},{"expression":{"components":[{"id":2044,"name":"passed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"16108:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":2045,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16116:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16107:23:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool)"}},"functionReturnParameters":1991,"id":2047,"nodeType":"Return","src":"16100:30:6"}]},"documentation":{"id":1983,"nodeType":"StructuredDocumentation","src":"15227:258:6","text":" @dev Проверить результат мультиподписи\n @param _operationId ID операции\n @return passed Прошла ли операция\n @return quorumReached Достигнут ли кворум"},"functionSelector":"057b2074","id":2049,"implemented":true,"kind":"function","modifiers":[],"name":"checkMultiSigResult","nameLocation":"15499:19:6","nodeType":"FunctionDefinition","parameters":{"id":1986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1985,"mutability":"mutable","name":"_operationId","nameLocation":"15527:12:6","nodeType":"VariableDeclaration","scope":2049,"src":"15519:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1984,"name":"uint256","nodeType":"ElementaryTypeName","src":"15519:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15518:22:6"},"returnParameters":{"id":1991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1988,"mutability":"mutable","name":"passed","nameLocation":"15567:6:6","nodeType":"VariableDeclaration","scope":2049,"src":"15562:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1987,"name":"bool","nodeType":"ElementaryTypeName","src":"15562:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1990,"mutability":"mutable","name":"quorumReached","nameLocation":"15580:13:6","nodeType":"VariableDeclaration","scope":2049,"src":"15575:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1989,"name":"bool","nodeType":"ElementaryTypeName","src":"15575:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15561:33:6"},"scope":2613,"src":"15490:647:6","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2116,"nodeType":"Block","src":"16346:577:6","statements":[{"assignments":[2057],"declarations":[{"constant":false,"id":2057,"mutability":"mutable","name":"operation","nameLocation":"16382:9:6","nodeType":"VariableDeclaration","scope":2116,"src":"16356:35:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"},"typeName":{"id":2056,"nodeType":"UserDefinedTypeName","pathNode":{"id":2055,"name":"MultiSigOperation","nameLocations":["16356:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":960,"src":"16356:17:6"},"referencedDeclaration":960,"src":"16356:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation"}},"visibility":"internal"}],"id":2061,"initialValue":{"baseExpression":{"id":2058,"name":"multiSigOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":989,"src":"16394:18:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_MultiSigOperation_$960_storage_$","typeString":"mapping(uint256 => struct DLE.MultiSigOperation storage ref)"}},"id":2060,"indexExpression":{"id":2059,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2052,"src":"16413:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16394:32:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage","typeString":"struct DLE.MultiSigOperation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16356:70:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2063,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"16444:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16454:13:6","memberName":"operationHash","nodeType":"MemberAccess","referencedDeclaration":941,"src":"16444:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16479:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16471:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16471:7:6","typeDescriptions":{}}},"id":2068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16471:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16444:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e20646f6573206e6f74206578697374","id":2070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16483:26:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""},"value":"Operation does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a88bda3553b9f58fdc0f5b8cacceb40b5f33a87ef6c0aa7807be75bb72f6e6d4","typeString":"literal_string \"Operation does not exist\""}],"id":2062,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16436:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:74:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2072,"nodeType":"ExpressionStatement","src":"16436:74:6"},{"expression":{"arguments":[{"id":2076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16528:19:6","subExpression":{"expression":{"id":2074,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"16529:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16539:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":947,"src":"16529:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e20616c7265616479206578656375746564","id":2077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16549:28:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5564caec237b09b54a365c80dad399a0b91f87583021f6a1ecdbdaef10f306a","typeString":"literal_string \"Operation already executed\""},"value":"Operation already executed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d5564caec237b09b54a365c80dad399a0b91f87583021f6a1ecdbdaef10f306a","typeString":"literal_string \"Operation already executed\""}],"id":2073,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16520:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16520:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2079,"nodeType":"ExpressionStatement","src":"16520:58:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2081,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16596:5:6","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":2082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16602:9:6","memberName":"timestamp","nodeType":"MemberAccess","src":"16596:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":2083,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"16615:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2084,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16625:8:6","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":949,"src":"16615:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16596:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5369676e696e67206e6f7420656e646564","id":2086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16635:19:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0c2359a9b356344627f350157767095abf42de074fcedb68d11fc108b96cd74","typeString":"literal_string \"Signing not ended\""},"value":"Signing not ended"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c0c2359a9b356344627f350157767095abf42de074fcedb68d11fc108b96cd74","typeString":"literal_string \"Signing not ended\""}],"id":2080,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16588:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16588:67:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2088,"nodeType":"ExpressionStatement","src":"16588:67:6"},{"assignments":[2090,2092],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"passed","nameLocation":"16672:6:6","nodeType":"VariableDeclaration","scope":2116,"src":"16667:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2089,"name":"bool","nodeType":"ElementaryTypeName","src":"16667:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2092,"mutability":"mutable","name":"quorumReached","nameLocation":"16685:13:6","nodeType":"VariableDeclaration","scope":2116,"src":"16680:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2091,"name":"bool","nodeType":"ElementaryTypeName","src":"16680:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":2096,"initialValue":{"arguments":[{"id":2094,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2052,"src":"16722:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2093,"name":"checkMultiSigResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2049,"src":"16702:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$_t_bool_$","typeString":"function (uint256) view returns (bool,bool)"}},"id":2095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16702:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"16666:69:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2098,"name":"passed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"16753:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2099,"name":"quorumReached","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2092,"src":"16763:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16753:23:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7065726174696f6e206e6f7420706173736564","id":2101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16778:22:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ddf475e14b5f6d3ed9adb8877fe9c76f990b431f369f905fc15026ec102ce36","typeString":"literal_string \"Operation not passed\""},"value":"Operation not passed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1ddf475e14b5f6d3ed9adb8877fe9c76f990b431f369f905fc15026ec102ce36","typeString":"literal_string \"Operation not passed\""}],"id":2097,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16745:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16745:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2103,"nodeType":"ExpressionStatement","src":"16745:56:6"},{"expression":{"id":2108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":2104,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"16812:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16822:8:6","memberName":"executed","nodeType":"MemberAccess","referencedDeclaration":947,"src":"16812:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":2107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16833:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16812:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2109,"nodeType":"ExpressionStatement","src":"16812:25:6"},{"eventCall":{"arguments":[{"id":2111,"name":"_operationId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2052,"src":"16878:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":2112,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"16892:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_MultiSigOperation_$960_storage_ptr","typeString":"struct DLE.MultiSigOperation storage pointer"}},"id":2113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16902:13:6","memberName":"operationHash","nodeType":"MemberAccess","referencedDeclaration":941,"src":"16892:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2110,"name":"MultiSigExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"16861:16:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32)"}},"id":2114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16861:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2115,"nodeType":"EmitStatement","src":"16856:60:6"}]},"documentation":{"id":2050,"nodeType":"StructuredDocumentation","src":"16143:133:6","text":" @dev Исполнить мультиподпись операцию\n @param _operationId ID операции"},"functionSelector":"893d692a","id":2117,"implemented":true,"kind":"function","modifiers":[],"name":"executeMultiSigOperation","nameLocation":"16290:24:6","nodeType":"FunctionDefinition","parameters":{"id":2053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2052,"mutability":"mutable","name":"_operationId","nameLocation":"16323:12:6","nodeType":"VariableDeclaration","scope":2117,"src":"16315:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2051,"name":"uint256","nodeType":"ElementaryTypeName","src":"16315:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16314:22:6"},"returnParameters":{"id":2054,"nodeType":"ParameterList","parameters":[],"src":"16346:0:6"},"scope":2613,"src":"16281:642:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2172,"nodeType":"Block","src":"17324:702:6","statements":[{"expression":{"arguments":[{"baseExpression":{"id":2128,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"17342:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":2130,"indexExpression":{"id":2129,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2122,"src":"17358:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17342:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436861696e206e6f7420737570706f72746564","id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17373:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""},"value":"Chain not supported"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8ad923b2e364ce1aeaf4231bbcdfbcf3913f3afdc5e95d213d4d8bc5188fdf23","typeString":"literal_string \"Chain not supported\""}],"id":2127,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17334:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2133,"nodeType":"ExpressionStatement","src":"17334:61:6"},{"expression":{"arguments":[{"id":2138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17413:31:6","subExpression":{"baseExpression":{"id":2135,"name":"executedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"17414:17:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":2137,"indexExpression":{"id":2136,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"17432:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17414:30:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c7265616479206578656375746564","id":2139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17446:18:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_58f47ea4e737df2d9cc4764db26c111751884cf0a1856aca9f4c66cadc811e1b","typeString":"literal_string \"Already executed\""},"value":"Already executed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_58f47ea4e737df2d9cc4764db26c111751884cf0a1856aca9f4c66cadc811e1b","typeString":"literal_string \"Already executed\""}],"id":2134,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17405:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17405:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2141,"nodeType":"ExpressionStatement","src":"17405:60:6"},{"expression":{"id":2146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2142,"name":"executedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"17655:17:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":2144,"indexExpression":{"id":2143,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"17673:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17655:30:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":2145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17688:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"17655:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2147,"nodeType":"ExpressionStatement","src":"17655:37:6"},{"assignments":[2150],"declarations":[{"constant":false,"id":2150,"mutability":"mutable","name":"proposal","nameLocation":"17801:8:6","nodeType":"VariableDeclaration","scope":2172,"src":"17784:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":2149,"nodeType":"UserDefinedTypeName","pathNode":{"id":2148,"name":"Proposal","nameLocations":["17784:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"17784:8:6"},"referencedDeclaration":939,"src":"17784:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":2154,"initialValue":{"baseExpression":{"id":2151,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"17812:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":2153,"indexExpression":{"id":2152,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"17822:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17812:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17784:50:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2150,"src":"17848:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":2156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17857:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"17848:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2157,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"17863:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17848:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2165,"nodeType":"IfStatement","src":"17844:94:6","trueBody":{"id":2164,"nodeType":"Block","src":"17876:62:6","statements":[{"expression":{"arguments":[{"expression":{"id":2160,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2150,"src":"17908:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":2161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17917:9:6","memberName":"operation","nodeType":"MemberAccess","referencedDeclaration":930,"src":"17908:18:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"id":2159,"name":"_executeOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2457,"src":"17890:17:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":2162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17890:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2163,"nodeType":"ExpressionStatement","src":"17890:37:6"}]}},{"eventCall":{"arguments":[{"id":2167,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"17977:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2168,"name":"_fromChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2122,"src":"17990:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2169,"name":"currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"18004:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2166,"name":"CrossChainExecutionSync","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"17953:23:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":2170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17953:66:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2171,"nodeType":"EmitStatement","src":"17948:71:6"}]},"documentation":{"id":2118,"nodeType":"StructuredDocumentation","src":"16929:249:6","text":" @dev Синхронизировать исполнение из другой цепочки\n @param _proposalId ID предложения\n @param _fromChainId ID цепочки откуда синхронизируем"},"functionSelector":"044bc2bd","id":2173,"implemented":true,"kind":"function","modifiers":[],"name":"syncExecutionFromChain","nameLocation":"17192:22:6","nodeType":"FunctionDefinition","parameters":{"id":2125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2120,"mutability":"mutable","name":"_proposalId","nameLocation":"17232:11:6","nodeType":"VariableDeclaration","scope":2173,"src":"17224:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2119,"name":"uint256","nodeType":"ElementaryTypeName","src":"17224:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2122,"mutability":"mutable","name":"_fromChainId","nameLocation":"17261:12:6","nodeType":"VariableDeclaration","scope":2173,"src":"17253:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2121,"name":"uint256","nodeType":"ElementaryTypeName","src":"17253:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2173,"src":"17283:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2123,"name":"bytes","nodeType":"ElementaryTypeName","src":"17283:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17214:100:6"},"returnParameters":{"id":2126,"nodeType":"ParameterList","parameters":[],"src":"17324:0:6"},"scope":2613,"src":"17183:843:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2185,"nodeType":"Block","src":"18312:284:6","statements":[{"expression":{"baseExpression":{"id":2181,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"18564:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":2183,"indexExpression":{"id":2182,"name":"_chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2176,"src":"18580:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18564:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2180,"id":2184,"nodeType":"Return","src":"18557:32:6"}]},"documentation":{"id":2174,"nodeType":"StructuredDocumentation","src":"18032:188:6","text":" @dev Проверить подключение к цепочке\n @param _chainId ID цепочки\n @return isAvailable Доступна ли цепочка"},"functionSelector":"4de184f6","id":2186,"implemented":true,"kind":"function","modifiers":[],"name":"checkChainConnection","nameLocation":"18234:20:6","nodeType":"FunctionDefinition","parameters":{"id":2177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2176,"mutability":"mutable","name":"_chainId","nameLocation":"18263:8:6","nodeType":"VariableDeclaration","scope":2186,"src":"18255:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2175,"name":"uint256","nodeType":"ElementaryTypeName","src":"18255:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18254:18:6"},"returnParameters":{"id":2180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2179,"mutability":"mutable","name":"isAvailable","nameLocation":"18299:11:6","nodeType":"VariableDeclaration","scope":2186,"src":"18294:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2178,"name":"bool","nodeType":"ElementaryTypeName","src":"18294:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18293:18:6"},"scope":2613,"src":"18225:371:6","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2238,"nodeType":"Block","src":"18932:482:6","statements":[{"assignments":[2196],"declarations":[{"constant":false,"id":2196,"mutability":"mutable","name":"proposal","nameLocation":"18959:8:6","nodeType":"VariableDeclaration","scope":2238,"src":"18942:25:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"},"typeName":{"id":2195,"nodeType":"UserDefinedTypeName","pathNode":{"id":2194,"name":"Proposal","nameLocations":["18942:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":939,"src":"18942:8:6"},"referencedDeclaration":939,"src":"18942:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal"}},"visibility":"internal"}],"id":2200,"initialValue":{"baseExpression":{"id":2197,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"18970:9:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$939_storage_$","typeString":"mapping(uint256 => struct DLE.Proposal storage ref)"}},"id":2199,"indexExpression":{"id":2198,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2189,"src":"18980:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18970:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage","typeString":"struct DLE.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18942:50:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2196,"src":"19010:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$939_storage_ptr","typeString":"struct DLE.Proposal storage pointer"}},"id":2203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19019:2:6","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":916,"src":"19010:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2204,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2189,"src":"19025:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19010:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"50726f706f73616c20646f6573206e6f74206578697374","id":2206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19038:25:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""},"value":"Proposal does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e62a544e5aebc4f7865ef71973090f3036faa05a5f7be3ea3605ab15dc232bf","typeString":"literal_string \"Proposal does not exist\""}],"id":2201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19002:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19002:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2208,"nodeType":"ExpressionStatement","src":"19002:62:6"},{"body":{"id":2234,"nodeType":"Block","src":"19219:159:6","statements":[{"assignments":[2221],"declarations":[{"constant":false,"id":2221,"mutability":"mutable","name":"chainId","nameLocation":"19241:7:6","nodeType":"VariableDeclaration","scope":2234,"src":"19233:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2220,"name":"uint256","nodeType":"ElementaryTypeName","src":"19233:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2225,"initialValue":{"arguments":[{"id":2223,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2210,"src":"19271:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2222,"name":"getSupportedChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2342,"src":"19251:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19251:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19233:40:6"},{"condition":{"id":2229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19291:30:6","subExpression":{"arguments":[{"id":2227,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2221,"src":"19313:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2226,"name":"checkChainConnection","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2186,"src":"19292:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19292:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2233,"nodeType":"IfStatement","src":"19287:81:6","trueBody":{"id":2232,"nodeType":"Block","src":"19323:45:6","statements":[{"expression":{"hexValue":"66616c7365","id":2230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19348:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":2193,"id":2231,"nodeType":"Return","src":"19341:12:6"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2213,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2210,"src":"19184:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2214,"name":"getSupportedChainCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"19188:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":2215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19188:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19184:28:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2235,"initializationExpression":{"assignments":[2210],"declarations":[{"constant":false,"id":2210,"mutability":"mutable","name":"i","nameLocation":"19177:1:6","nodeType":"VariableDeclaration","scope":2235,"src":"19169:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2209,"name":"uint256","nodeType":"ElementaryTypeName","src":"19169:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2212,"initialValue":{"hexValue":"30","id":2211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19181:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"19169:13:6"},"loopExpression":{"expression":{"id":2218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19214:3:6","subExpression":{"id":2217,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2210,"src":"19214:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2219,"nodeType":"ExpressionStatement","src":"19214:3:6"},"nodeType":"ForStatement","src":"19164:214:6"},{"expression":{"hexValue":"74727565","id":2236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19403:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":2193,"id":2237,"nodeType":"Return","src":"19396:11:6"}]},"documentation":{"id":2187,"nodeType":"StructuredDocumentation","src":"18602:234:6","text":" @dev Проверить все подключения перед синхронизацией\n @param _proposalId ID предложения\n @return allChainsReady Готовы ли все цепочки"},"functionSelector":"e49a62e9","id":2239,"implemented":true,"kind":"function","modifiers":[],"name":"checkSyncReadiness","nameLocation":"18850:18:6","nodeType":"FunctionDefinition","parameters":{"id":2190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2189,"mutability":"mutable","name":"_proposalId","nameLocation":"18877:11:6","nodeType":"VariableDeclaration","scope":2239,"src":"18869:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2188,"name":"uint256","nodeType":"ElementaryTypeName","src":"18869:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18868:21:6"},"returnParameters":{"id":2193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2192,"mutability":"mutable","name":"allChainsReady","nameLocation":"18916:14:6","nodeType":"VariableDeclaration","scope":2239,"src":"18911:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2191,"name":"bool","nodeType":"ElementaryTypeName","src":"18911:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18910:21:6"},"scope":2613,"src":"18841:573:6","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":2280,"nodeType":"Block","src":"19628:400:6","statements":[{"expression":{"arguments":[{"arguments":[{"id":2247,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2242,"src":"19665:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2246,"name":"checkSyncReadiness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2239,"src":"19646:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19646:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f7420616c6c20636861696e73207265616479","id":2249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19679:22:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ac91bcc9dd94a174980f450c5e56b966ea5d9e218d96b80a76095f437f6badf","typeString":"literal_string \"Not all chains ready\""},"value":"Not all chains ready"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9ac91bcc9dd94a174980f450c5e56b966ea5d9e218d96b80a76095f437f6badf","typeString":"literal_string \"Not all chains ready\""}],"id":2245,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19638:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19638:64:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2251,"nodeType":"ExpressionStatement","src":"19638:64:6"},{"body":{"id":2274,"nodeType":"Block","src":"19860:112:6","statements":[{"assignments":[2264],"declarations":[{"constant":false,"id":2264,"mutability":"mutable","name":"chainId","nameLocation":"19882:7:6","nodeType":"VariableDeclaration","scope":2274,"src":"19874:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2263,"name":"uint256","nodeType":"ElementaryTypeName","src":"19874:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2268,"initialValue":{"arguments":[{"id":2266,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2253,"src":"19912:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2265,"name":"getSupportedChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2342,"src":"19892:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19892:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19874:40:6"},{"expression":{"arguments":[{"id":2270,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2242,"src":"19940:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2271,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"19953:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2269,"name":"syncToChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2296,"src":"19928:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19928:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2273,"nodeType":"ExpressionStatement","src":"19928:33:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2253,"src":"19825:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":2257,"name":"getSupportedChainCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"19829:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":2258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19829:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19825:28:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2275,"initializationExpression":{"assignments":[2253],"declarations":[{"constant":false,"id":2253,"mutability":"mutable","name":"i","nameLocation":"19818:1:6","nodeType":"VariableDeclaration","scope":2275,"src":"19810:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2252,"name":"uint256","nodeType":"ElementaryTypeName","src":"19810:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2255,"initialValue":{"hexValue":"30","id":2254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19822:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"19810:13:6"},"loopExpression":{"expression":{"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19855:3:6","subExpression":{"id":2260,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2253,"src":"19855:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2262,"nodeType":"ExpressionStatement","src":"19855:3:6"},"nodeType":"ForStatement","src":"19805:167:6"},{"eventCall":{"arguments":[{"id":2277,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2242,"src":"20009:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2276,"name":"SyncCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2612,"src":"19995:13:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19995:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2279,"nodeType":"EmitStatement","src":"19990:31:6"}]},"documentation":{"id":2240,"nodeType":"StructuredDocumentation","src":"19420:148:6","text":" @dev Синхронизация только при 100% готовности\n @param _proposalId ID предложения"},"functionSelector":"7ce288ea","id":2281,"implemented":true,"kind":"function","modifiers":[],"name":"syncToAllChains","nameLocation":"19582:15:6","nodeType":"FunctionDefinition","parameters":{"id":2243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2242,"mutability":"mutable","name":"_proposalId","nameLocation":"19606:11:6","nodeType":"VariableDeclaration","scope":2281,"src":"19598:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2241,"name":"uint256","nodeType":"ElementaryTypeName","src":"19598:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19597:21:6"},"returnParameters":{"id":2244,"nodeType":"ParameterList","parameters":[],"src":"19628:0:6"},"scope":2613,"src":"19573:455:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2295,"nodeType":"Block","src":"20290:262:6","statements":[{"eventCall":{"arguments":[{"id":2290,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2284,"src":"20507:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2291,"name":"currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"20520:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2292,"name":"_chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2286,"src":"20536:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2289,"name":"CrossChainExecutionSync","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"20483:23:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":2293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20483:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2294,"nodeType":"EmitStatement","src":"20478:67:6"}]},"documentation":{"id":2282,"nodeType":"StructuredDocumentation","src":"20034:182:6","text":" @dev Синхронизация в конкретную цепочку\n @param _proposalId ID предложения\n @param _chainId ID цепочки"},"id":2296,"implemented":true,"kind":"function","modifiers":[],"name":"syncToChain","nameLocation":"20230:11:6","nodeType":"FunctionDefinition","parameters":{"id":2287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2284,"mutability":"mutable","name":"_proposalId","nameLocation":"20250:11:6","nodeType":"VariableDeclaration","scope":2296,"src":"20242:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2283,"name":"uint256","nodeType":"ElementaryTypeName","src":"20242:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2286,"mutability":"mutable","name":"_chainId","nameLocation":"20271:8:6","nodeType":"VariableDeclaration","scope":2296,"src":"20263:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2285,"name":"uint256","nodeType":"ElementaryTypeName","src":"20263:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20241:39:6"},"returnParameters":{"id":2288,"nodeType":"ParameterList","parameters":[],"src":"20290:0:6"},"scope":2613,"src":"20221:331:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2304,"nodeType":"Block","src":"20732:251:6","statements":[{"expression":{"hexValue":"34","id":2302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20975:1:6","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"functionReturnParameters":2301,"id":2303,"nodeType":"Return","src":"20968:8:6"}]},"documentation":{"id":2297,"nodeType":"StructuredDocumentation","src":"20558:105:6","text":" @dev Получить количество поддерживаемых цепочек"},"functionSelector":"eced3dfb","id":2305,"implemented":true,"kind":"function","modifiers":[],"name":"getSupportedChainCount","nameLocation":"20677:22:6","nodeType":"FunctionDefinition","parameters":{"id":2298,"nodeType":"ParameterList","parameters":[],"src":"20699:2:6"},"returnParameters":{"id":2301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2305,"src":"20723:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2299,"name":"uint256","nodeType":"ElementaryTypeName","src":"20723:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20722:9:6"},"scope":2613,"src":"20668:315:6","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":2341,"nodeType":"Block","src":"21225:248:6","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2313,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"21239:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21249:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21239:11:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2318,"nodeType":"IfStatement","src":"21235:25:6","trueBody":{"expression":{"hexValue":"31","id":2316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21259:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"functionReturnParameters":2312,"id":2317,"nodeType":"Return","src":"21252:8:6"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2319,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"21291:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":2320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21301:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"21291:11:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2324,"nodeType":"IfStatement","src":"21287:27:6","trueBody":{"expression":{"hexValue":"313337","id":2322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21311:3:6","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},"functionReturnParameters":2312,"id":2323,"nodeType":"Return","src":"21304:10:6"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2325,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"21342:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":2326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21352:1:6","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"21342:11:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2330,"nodeType":"IfStatement","src":"21338:26:6","trueBody":{"expression":{"hexValue":"3536","id":2328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21362:2:6","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"functionReturnParameters":2312,"id":2329,"nodeType":"Return","src":"21355:9:6"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2331,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"21389:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"33","id":2332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21399:1:6","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"21389:11:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2336,"nodeType":"IfStatement","src":"21385:29:6","trueBody":{"expression":{"hexValue":"3432313631","id":2334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21409:5:6","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"functionReturnParameters":2312,"id":2335,"nodeType":"Return","src":"21402:12:6"}},{"expression":{"arguments":[{"hexValue":"496e76616c696420636861696e20696e646578","id":2338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21444:21:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_51299dff4c796e1ac8ee8b9a472d4251ecba410abfcfdfff3c492d6f0f63bc13","typeString":"literal_string \"Invalid chain index\""},"value":"Invalid chain index"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51299dff4c796e1ac8ee8b9a472d4251ecba410abfcfdfff3c492d6f0f63bc13","typeString":"literal_string \"Invalid chain index\""}],"id":2337,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"21437:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21437:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2340,"nodeType":"ExpressionStatement","src":"21437:29:6"}]},"documentation":{"id":2306,"nodeType":"StructuredDocumentation","src":"20989:156:6","text":" @dev Получить ID поддерживаемой цепочки по индексу\n @param _index Индекс цепочки"},"functionSelector":"9a49bdde","id":2342,"implemented":true,"kind":"function","modifiers":[],"name":"getSupportedChainId","nameLocation":"21159:19:6","nodeType":"FunctionDefinition","parameters":{"id":2309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2308,"mutability":"mutable","name":"_index","nameLocation":"21187:6:6","nodeType":"VariableDeclaration","scope":2342,"src":"21179:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2307,"name":"uint256","nodeType":"ElementaryTypeName","src":"21179:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21178:16:6"},"returnParameters":{"id":2312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2342,"src":"21216:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2310,"name":"uint256","nodeType":"ElementaryTypeName","src":"21216:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21215:9:6"},"scope":2613,"src":"21150:323:6","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":2456,"nodeType":"Block","src":"21674:1052:6","statements":[{"assignments":[2349,2351],"declarations":[{"constant":false,"id":2349,"mutability":"mutable","name":"selector","nameLocation":"21741:8:6","nodeType":"VariableDeclaration","scope":2456,"src":"21734:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2348,"name":"bytes4","nodeType":"ElementaryTypeName","src":"21734:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":2351,"mutability":"mutable","name":"data","nameLocation":"21764:4:6","nodeType":"VariableDeclaration","scope":2456,"src":"21751:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2350,"name":"bytes","nodeType":"ElementaryTypeName","src":"21751:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2361,"initialValue":{"arguments":[{"id":2354,"name":"_operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2345,"src":"21783:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21796:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":2355,"name":"bytes4","nodeType":"ElementaryTypeName","src":"21796:6:6","typeDescriptions":{}}},{"id":2358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21804:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2357,"name":"bytes","nodeType":"ElementaryTypeName","src":"21804:5:6","typeDescriptions":{}}}],"id":2359,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21795:15:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_bytes4_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(bytes4),type(bytes storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_bytes4_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(bytes4),type(bytes storage pointer))"}],"expression":{"id":2352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21772:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21776:6:6","memberName":"decode","nodeType":"MemberAccess","src":"21772:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21772:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes4_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes4,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21733:78:6"},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2362,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"21834:8:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"7472616e7366657228616464726573732c75696e7432353629","id":2366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21863:27:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","typeString":"literal_string \"transfer(address,uint256)\""},"value":"transfer(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","typeString":"literal_string \"transfer(address,uint256)\""}],"id":2365,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"21853:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21853:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21846:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":2363,"name":"bytes4","nodeType":"ElementaryTypeName","src":"21846:6:6","typeDescriptions":{}}},"id":2368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21846:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"21834:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2392,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"22107:8:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"6d696e7428616464726573732c75696e7432353629","id":2396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22136:23:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842","typeString":"literal_string \"mint(address,uint256)\""},"value":"mint(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40c10f19c047ae7dfa66d6312b683d2ea3dfbcb4159e96b967c5f4b0a86f2842","typeString":"literal_string \"mint(address,uint256)\""}],"id":2395,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22126:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22126:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22119:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":2393,"name":"bytes4","nodeType":"ElementaryTypeName","src":"22119:6:6","typeDescriptions":{}}},"id":2398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22119:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"22107:54:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2420,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"22360:8:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"6275726e28616464726573732c75696e7432353629","id":2424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22389:23:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba","typeString":"literal_string \"burn(address,uint256)\""},"value":"burn(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dc29fac0ba6d4fc521c69c2b0c636d612e3343bc39ed934429b8876b0d12cba","typeString":"literal_string \"burn(address,uint256)\""}],"id":2423,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22379:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22379:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22372:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":2421,"name":"bytes4","nodeType":"ElementaryTypeName","src":"22372:6:6","typeDescriptions":{}}},"id":2426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"22360:54:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2452,"nodeType":"Block","src":"22613:107:6","statements":[{"expression":{"arguments":[{"hexValue":"556e6b6e6f776e206f7065726174696f6e","id":2449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22689:19:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8583565d5058e599a0a507bc84ed1111529ac3c53e437281d981e6a5fe8395d","typeString":"literal_string \"Unknown operation\""},"value":"Unknown operation"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8583565d5058e599a0a507bc84ed1111529ac3c53e437281d981e6a5fe8395d","typeString":"literal_string \"Unknown operation\""}],"id":2448,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"22682:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22682:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2451,"nodeType":"ExpressionStatement","src":"22682:27:6"}]},"id":2453,"nodeType":"IfStatement","src":"22356:364:6","trueBody":{"id":2447,"nodeType":"Block","src":"22416:191:6","statements":[{"assignments":[2429,2431],"declarations":[{"constant":false,"id":2429,"mutability":"mutable","name":"from","nameLocation":"22503:4:6","nodeType":"VariableDeclaration","scope":2447,"src":"22495:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2428,"name":"address","nodeType":"ElementaryTypeName","src":"22495:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2431,"mutability":"mutable","name":"amount","nameLocation":"22517:6:6","nodeType":"VariableDeclaration","scope":2447,"src":"22509:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2430,"name":"uint256","nodeType":"ElementaryTypeName","src":"22509:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2441,"initialValue":{"arguments":[{"id":2434,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2351,"src":"22538:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22545:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2435,"name":"address","nodeType":"ElementaryTypeName","src":"22545:7:6","typeDescriptions":{}}},{"id":2438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22554:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2437,"name":"uint256","nodeType":"ElementaryTypeName","src":"22554:7:6","typeDescriptions":{}}}],"id":2439,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22544:18:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":2432,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22527:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22531:6:6","memberName":"decode","nodeType":"MemberAccess","src":"22527:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22527:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"22494:69:6"},{"expression":{"arguments":[{"id":2443,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"22583:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"22589:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2442,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"22577:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22577:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2446,"nodeType":"ExpressionStatement","src":"22577:19:6"}]}},"id":2454,"nodeType":"IfStatement","src":"22103:617:6","trueBody":{"id":2419,"nodeType":"Block","src":"22163:187:6","statements":[{"assignments":[2401,2403],"declarations":[{"constant":false,"id":2401,"mutability":"mutable","name":"to","nameLocation":"22250:2:6","nodeType":"VariableDeclaration","scope":2419,"src":"22242:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2400,"name":"address","nodeType":"ElementaryTypeName","src":"22242:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2403,"mutability":"mutable","name":"amount","nameLocation":"22262:6:6","nodeType":"VariableDeclaration","scope":2419,"src":"22254:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2402,"name":"uint256","nodeType":"ElementaryTypeName","src":"22254:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2413,"initialValue":{"arguments":[{"id":2406,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2351,"src":"22283:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22290:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2407,"name":"address","nodeType":"ElementaryTypeName","src":"22290:7:6","typeDescriptions":{}}},{"id":2410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22299:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2409,"name":"uint256","nodeType":"ElementaryTypeName","src":"22299:7:6","typeDescriptions":{}}}],"id":2411,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22289:18:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":2404,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22272:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22276:6:6","memberName":"decode","nodeType":"MemberAccess","src":"22272:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22272:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"22241:67:6"},{"expression":{"arguments":[{"id":2415,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2401,"src":"22328:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2416,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2403,"src":"22332:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2414,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"22322:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":2417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22322:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2418,"nodeType":"ExpressionStatement","src":"22322:17:6"}]}},"id":2455,"nodeType":"IfStatement","src":"21830:890:6","trueBody":{"id":2391,"nodeType":"Block","src":"21894:203:6","statements":[{"assignments":[2371,2373],"declarations":[{"constant":false,"id":2371,"mutability":"mutable","name":"to","nameLocation":"21981:2:6","nodeType":"VariableDeclaration","scope":2391,"src":"21973:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2370,"name":"address","nodeType":"ElementaryTypeName","src":"21973:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2373,"mutability":"mutable","name":"amount","nameLocation":"21993:6:6","nodeType":"VariableDeclaration","scope":2391,"src":"21985:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"21985:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2383,"initialValue":{"arguments":[{"id":2376,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2351,"src":"22014:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22021:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"22021:7:6","typeDescriptions":{}}},{"id":2380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22030:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2379,"name":"uint256","nodeType":"ElementaryTypeName","src":"22030:7:6","typeDescriptions":{}}}],"id":2381,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22020:18:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":2374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22003:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22007:6:6","memberName":"decode","nodeType":"MemberAccess","src":"22003:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22003:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21972:67:6"},{"expression":{"arguments":[{"expression":{"id":2385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22063:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22067:6:6","memberName":"sender","nodeType":"MemberAccess","src":"22063:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2387,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2371,"src":"22075:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2388,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2373,"src":"22079:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2384,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"22053:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22053:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2390,"nodeType":"ExpressionStatement","src":"22053:33:6"}]}}]},"documentation":{"id":2343,"nodeType":"StructuredDocumentation","src":"21479:129:6","text":" @dev Исполнить операцию\n @param _operation Операция для исполнения"},"id":2457,"implemented":true,"kind":"function","modifiers":[],"name":"_executeOperation","nameLocation":"21622:17:6","nodeType":"FunctionDefinition","parameters":{"id":2346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2345,"mutability":"mutable","name":"_operation","nameLocation":"21653:10:6","nodeType":"VariableDeclaration","scope":2457,"src":"21640:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2344,"name":"bytes","nodeType":"ElementaryTypeName","src":"21640:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21639:25:6"},"returnParameters":{"id":2347,"nodeType":"ParameterList","parameters":[],"src":"21674:0:6"},"scope":2613,"src":"21613:1113:6","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2510,"nodeType":"Block","src":"22954:358:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":2467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22982:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22986:6:6","memberName":"sender","nodeType":"MemberAccess","src":"22982:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2466,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"22972:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22972:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22996:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22972:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d75737420686f6c6420746f6b656e7320746f20616464206d6f64756c65","id":2472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22999:32:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_386d52cc0823e9cc706c7e0057db969b8e9f95b86428ad9df4e5e7e608f0ee74","typeString":"literal_string \"Must hold tokens to add module\""},"value":"Must hold tokens to add module"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_386d52cc0823e9cc706c7e0057db969b8e9f95b86428ad9df4e5e7e608f0ee74","typeString":"literal_string \"Must hold tokens to add module\""}],"id":2465,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22964:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22964:68:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2474,"nodeType":"ExpressionStatement","src":"22964:68:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2476,"name":"_moduleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2462,"src":"23050:14:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23076:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23068:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2477,"name":"address","nodeType":"ElementaryTypeName","src":"23068:7:6","typeDescriptions":{}}},"id":2480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23068:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23050:28:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a65726f2061646472657373","id":2482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23080:14:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_535d7636857fb1ab3a4f159f2a66b9583ce224510b4368fa2453e15bee0bc833","typeString":"literal_string \"Zero address\""},"value":"Zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_535d7636857fb1ab3a4f159f2a66b9583ce224510b4368fa2453e15bee0bc833","typeString":"literal_string \"Zero address\""}],"id":2475,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23042:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23042:53:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2484,"nodeType":"ExpressionStatement","src":"23042:53:6"},{"expression":{"arguments":[{"id":2489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23113:25:6","subExpression":{"baseExpression":{"id":2486,"name":"activeModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"23114:13:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":2488,"indexExpression":{"id":2487,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2460,"src":"23128:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23114:24:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d6f64756c6520616c726561647920657869737473","id":2490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23140:23:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_886f67ba7d9a179ad4a77f53bed0afe9305a32e844dbd6b94e697def54438978","typeString":"literal_string \"Module already exists\""},"value":"Module already exists"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_886f67ba7d9a179ad4a77f53bed0afe9305a32e844dbd6b94e697def54438978","typeString":"literal_string \"Module already exists\""}],"id":2485,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23105:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23105:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2492,"nodeType":"ExpressionStatement","src":"23105:59:6"},{"expression":{"id":2497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2493,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"23175:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":2495,"indexExpression":{"id":2494,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2460,"src":"23183:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23175:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2496,"name":"_moduleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2462,"src":"23196:14:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23175:35:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2498,"nodeType":"ExpressionStatement","src":"23175:35:6"},{"expression":{"id":2503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2499,"name":"activeModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"23220:13:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":2501,"indexExpression":{"id":2500,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2460,"src":"23234:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23220:24:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":2502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23247:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"23220:31:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2504,"nodeType":"ExpressionStatement","src":"23220:31:6"},{"eventCall":{"arguments":[{"id":2506,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2460,"src":"23279:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2507,"name":"_moduleAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2462,"src":"23290:14:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2505,"name":"ModuleAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1087,"src":"23267:11:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23267:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2509,"nodeType":"EmitStatement","src":"23262:43:6"}]},"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"22732:146:6","text":" @dev Добавить модуль\n @param _moduleId ID модуля\n @param _moduleAddress Адрес модуля"},"functionSelector":"35324eee","id":2511,"implemented":true,"kind":"function","modifiers":[],"name":"addModule","nameLocation":"22892:9:6","nodeType":"FunctionDefinition","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_moduleId","nameLocation":"22910:9:6","nodeType":"VariableDeclaration","scope":2511,"src":"22902:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22902:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_moduleAddress","nameLocation":"22929:14:6","nodeType":"VariableDeclaration","scope":2511,"src":"22921:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"22921:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22901:43:6"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"22954:0:6"},"scope":2613,"src":"22883:429:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2549,"nodeType":"Block","src":"23464:274:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":2519,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23492:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23496:6:6","memberName":"sender","nodeType":"MemberAccess","src":"23492:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2518,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"23482:9:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23482:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23506:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23482:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d75737420686f6c6420746f6b656e7320746f2072656d6f7665206d6f64756c65","id":2524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23509:35:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc7fbb9ac88e81b58eadf3fb00bfe01ffe693076256b7e1212d2dec03ec2a636","typeString":"literal_string \"Must hold tokens to remove module\""},"value":"Must hold tokens to remove module"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cc7fbb9ac88e81b58eadf3fb00bfe01ffe693076256b7e1212d2dec03ec2a636","typeString":"literal_string \"Must hold tokens to remove module\""}],"id":2517,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23474:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23474:71:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2526,"nodeType":"ExpressionStatement","src":"23474:71:6"},{"expression":{"arguments":[{"baseExpression":{"id":2528,"name":"activeModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"23563:13:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":2530,"indexExpression":{"id":2529,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"23577:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23563:24:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d6f64756c6520646f6573206e6f74206578697374","id":2531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23589:23:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_148e71891f99baebb1c86efc789ab7bd91f813832ac214a9b47559ccdff1d356","typeString":"literal_string \"Module does not exist\""},"value":"Module does not exist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_148e71891f99baebb1c86efc789ab7bd91f813832ac214a9b47559ccdff1d356","typeString":"literal_string \"Module does not exist\""}],"id":2527,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23555:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23555:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2533,"nodeType":"ExpressionStatement","src":"23555:58:6"},{"expression":{"id":2537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"23624:25:6","subExpression":{"baseExpression":{"id":2534,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"23631:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":2536,"indexExpression":{"id":2535,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"23639:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23631:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2538,"nodeType":"ExpressionStatement","src":"23624:25:6"},{"expression":{"id":2543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2539,"name":"activeModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"23659:13:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":2541,"indexExpression":{"id":2540,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"23673:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23659:24:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":2542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23686:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"23659:32:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2544,"nodeType":"ExpressionStatement","src":"23659:32:6"},{"eventCall":{"arguments":[{"id":2546,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"23721:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2545,"name":"ModuleRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1091,"src":"23707:13:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23707:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2548,"nodeType":"EmitStatement","src":"23702:29:6"}]},"documentation":{"id":2512,"nodeType":"StructuredDocumentation","src":"23318:91:6","text":" @dev Удалить модуль\n @param _moduleId ID модуля"},"functionSelector":"4114509b","id":2550,"implemented":true,"kind":"function","modifiers":[],"name":"removeModule","nameLocation":"23423:12:6","nodeType":"FunctionDefinition","parameters":{"id":2515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2514,"mutability":"mutable","name":"_moduleId","nameLocation":"23444:9:6","nodeType":"VariableDeclaration","scope":2550,"src":"23436:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23436:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"23435:19:6"},"returnParameters":{"id":2516,"nodeType":"ParameterList","parameters":[],"src":"23464:0:6"},"scope":2613,"src":"23414:324:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2559,"nodeType":"Block","src":"23878:31:6","statements":[{"expression":{"id":2557,"name":"dleInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"23895:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_storage","typeString":"struct DLE.DLEInfo storage ref"}},"functionReturnParameters":2556,"id":2558,"nodeType":"Return","src":"23888:14:6"}]},"documentation":{"id":2551,"nodeType":"StructuredDocumentation","src":"23744:68:6","text":" @dev Получить информацию о DLE"},"functionSelector":"204c5d1f","id":2560,"implemented":true,"kind":"function","modifiers":[],"name":"getDLEInfo","nameLocation":"23826:10:6","nodeType":"FunctionDefinition","parameters":{"id":2552,"nodeType":"ParameterList","parameters":[],"src":"23836:2:6"},"returnParameters":{"id":2556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2560,"src":"23862:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_memory_ptr","typeString":"struct DLE.DLEInfo"},"typeName":{"id":2554,"nodeType":"UserDefinedTypeName","pathNode":{"id":2553,"name":"DLEInfo","nameLocations":["23862:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":885,"src":"23862:7:6"},"referencedDeclaration":885,"src":"23862:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_DLEInfo_$885_storage_ptr","typeString":"struct DLE.DLEInfo"}},"visibility":"internal"}],"src":"23861:16:6"},"scope":2613,"src":"23817:92:6","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":2572,"nodeType":"Block","src":"24108:48:6","statements":[{"expression":{"baseExpression":{"id":2568,"name":"activeModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"24125:13:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":2570,"indexExpression":{"id":2569,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2563,"src":"24139:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24125:24:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2567,"id":2571,"nodeType":"Return","src":"24118:31:6"}]},"documentation":{"id":2561,"nodeType":"StructuredDocumentation","src":"23915:116:6","text":" @dev Проверить, активен ли модуль\n @param _moduleId ID модуля"},"functionSelector":"4b145793","id":2573,"implemented":true,"kind":"function","modifiers":[],"name":"isModuleActive","nameLocation":"24045:14:6","nodeType":"FunctionDefinition","parameters":{"id":2564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2563,"mutability":"mutable","name":"_moduleId","nameLocation":"24068:9:6","nodeType":"VariableDeclaration","scope":2573,"src":"24060:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24060:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24059:19:6"},"returnParameters":{"id":2567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2573,"src":"24102:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2565,"name":"bool","nodeType":"ElementaryTypeName","src":"24102:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24101:6:6"},"scope":2613,"src":"24036:120:6","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":2585,"nodeType":"Block","src":"24348:42:6","statements":[{"expression":{"baseExpression":{"id":2581,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"24365:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":2583,"indexExpression":{"id":2582,"name":"_moduleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"24373:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24365:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2580,"id":2584,"nodeType":"Return","src":"24358:25:6"}]},"documentation":{"id":2574,"nodeType":"StructuredDocumentation","src":"24162:104:6","text":" @dev Получить адрес модуля\n @param _moduleId ID модуля"},"functionSelector":"22dbefbb","id":2586,"implemented":true,"kind":"function","modifiers":[],"name":"getModuleAddress","nameLocation":"24280:16:6","nodeType":"FunctionDefinition","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2576,"mutability":"mutable","name":"_moduleId","nameLocation":"24305:9:6","nodeType":"VariableDeclaration","scope":2586,"src":"24297:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24297:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24296:19:6"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2586,"src":"24339:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2578,"name":"address","nodeType":"ElementaryTypeName","src":"24339:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24338:9:6"},"scope":2613,"src":"24271:119:6","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":2598,"nodeType":"Block","src":"24607:49:6","statements":[{"expression":{"baseExpression":{"id":2594,"name":"supportedChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"24624:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bool_$","typeString":"mapping(uint256 => bool)"}},"id":2596,"indexExpression":{"id":2595,"name":"_chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2589,"src":"24640:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24624:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2593,"id":2597,"nodeType":"Return","src":"24617:32:6"}]},"documentation":{"id":2587,"nodeType":"StructuredDocumentation","src":"24396:133:6","text":" @dev Проверить, поддерживается ли цепочка\n @param _chainId ID цепочки"},"functionSelector":"5221c1f0","id":2599,"implemented":true,"kind":"function","modifiers":[],"name":"isChainSupported","nameLocation":"24543:16:6","nodeType":"FunctionDefinition","parameters":{"id":2590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2589,"mutability":"mutable","name":"_chainId","nameLocation":"24568:8:6","nodeType":"VariableDeclaration","scope":2599,"src":"24560:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2588,"name":"uint256","nodeType":"ElementaryTypeName","src":"24560:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24559:18:6"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2599,"src":"24601:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2591,"name":"bool","nodeType":"ElementaryTypeName","src":"24601:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24600:6:6"},"scope":2613,"src":"24534:122:6","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":2607,"nodeType":"Block","src":"24801:38:6","statements":[{"expression":{"id":2605,"name":"currentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"24818:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2604,"id":2606,"nodeType":"Return","src":"24811:21:6"}]},"documentation":{"id":2600,"nodeType":"StructuredDocumentation","src":"24662:73:6","text":" @dev Получить текущий ID цепочки"},"functionSelector":"5cf0e8a4","id":2608,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentChainId","nameLocation":"24749:17:6","nodeType":"FunctionDefinition","parameters":{"id":2601,"nodeType":"ParameterList","parameters":[],"src":"24766:2:6"},"returnParameters":{"id":2604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2608,"src":"24792:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2602,"name":"uint256","nodeType":"ElementaryTypeName","src":"24792:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24791:9:6"},"scope":2613,"src":"24740:99:6","stateMutability":"view","virtual":false,"visibility":"external"},{"anonymous":false,"eventSelector":"57df5a6a467271f04b10f7fe9e66d21dcd8ae7eaf079099d48959f24a53b6910","id":2612,"name":"SyncCompleted","nameLocation":"24906:13:6","nodeType":"EventDefinition","parameters":{"id":2611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2610,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"24928:10:6","nodeType":"VariableDeclaration","scope":2612,"src":"24920:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2609,"name":"uint256","nodeType":"ElementaryTypeName","src":"24920:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24919:20:6"},"src":"24900:40:6"}],"scope":2614,"src":"750:24192:6","usedErrors":[11,16,21,30,35,40,799],"usedEvents":[663,672,1025,1033,1041,1051,1057,1065,1075,1081,1087,1091,1099,1107,1115,2612]}],"src":"423:24520:6"},"id":6}},"contracts":{"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"IERC1155Errors":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC1155InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC1155InvalidApprover","type":"error"},{"inputs":[{"internalType":"uint256","name":"idsLength","type":"uint256"},{"internalType":"uint256","name":"valuesLength","type":"uint256"}],"name":"ERC1155InvalidArrayLength","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC1155InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC1155InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC1155InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC1155MissingApprovalForAll","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}"},"IERC20Errors":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}"},"IERC721Errors":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"IERC20Metadata":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/ReentrancyGuard.sol":{"ReentrancyGuard":{"abi":[{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"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].\",\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]}},\"version\":1}"}},"contracts/DLE.sol":{"DLE":{"abi":[{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"string","name":"coordinates","type":"string"},{"internalType":"uint256","name":"jurisdiction","type":"uint256"},{"internalType":"uint256","name":"oktmo","type":"uint256"},{"internalType":"string[]","name":"okvedCodes","type":"string[]"},{"internalType":"uint256","name":"kpp","type":"uint256"},{"internalType":"uint256","name":"quorumPercentage","type":"uint256"},{"internalType":"address[]","name":"initialPartners","type":"address[]"},{"internalType":"uint256[]","name":"initialAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"supportedChainIds","type":"uint256[]"}],"internalType":"struct DLE.DLEConfig","name":"config","type":"tuple"},{"internalType":"uint256","name":"_currentChainId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromChainId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toChainId","type":"uint256"}],"name":"CrossChainExecutionSync","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"operationId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromChainId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toChainId","type":"uint256"}],"name":"CrossChainMultiSigSync","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromChainId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"toChainId","type":"uint256"}],"name":"CrossChainVoteSync","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":false,"internalType":"string","name":"location","type":"string"},{"indexed":false,"internalType":"string","name":"coordinates","type":"string"},{"indexed":false,"internalType":"uint256","name":"jurisdiction","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oktmo","type":"uint256"},{"indexed":false,"internalType":"string[]","name":"okvedCodes","type":"string[]"},{"indexed":false,"internalType":"uint256","name":"kpp","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"supportedChainIds","type":"uint256[]"}],"name":"DLEInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"partners","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"InitialTokensDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"moduleId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"moduleAddress","type":"address"}],"name":"ModuleAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"moduleId","type":"bytes32"}],"name":"ModuleRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"operationId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"operationHash","type":"bytes32"}],"name":"MultiSigExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"operationId","type":"uint256"},{"indexed":false,"internalType":"address","name":"initiator","type":"address"},{"indexed":false,"internalType":"bytes32","name":"operationHash","type":"bytes32"}],"name":"MultiSigOperationCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"operationId","type":"uint256"},{"indexed":false,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"bool","name":"support","type":"bool"},{"indexed":false,"internalType":"uint256","name":"signaturePower","type":"uint256"}],"name":"MultiSigSigned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"initiator","type":"address"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"operation","type":"bytes"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"bool","name":"support","type":"bool"},{"indexed":false,"internalType":"uint256","name":"votingPower","type":"uint256"}],"name":"ProposalVoted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"SyncCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"activeModules","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_moduleId","type":"bytes32"},{"internalType":"address","name":"_moduleAddress","type":"address"}],"name":"addModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"}],"name":"checkChainConnection","outputs":[{"internalType":"bool","name":"isAvailable","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationId","type":"uint256"}],"name":"checkMultiSigResult","outputs":[{"internalType":"bool","name":"passed","type":"bool"},{"internalType":"bool","name":"quorumReached","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"name":"checkProposalResult","outputs":[{"internalType":"bool","name":"passed","type":"bool"},{"internalType":"bool","name":"quorumReached","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"name":"checkSyncReadiness","outputs":[{"internalType":"bool","name":"allChainsReady","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_operationHash","type":"bytes32"},{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"createMultiSigOperation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"bytes","name":"_operation","type":"bytes"},{"internalType":"uint256","name":"_governanceChainId","type":"uint256"}],"name":"createProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dleInfo","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"string","name":"coordinates","type":"string"},{"internalType":"uint256","name":"jurisdiction","type":"uint256"},{"internalType":"uint256","name":"oktmo","type":"uint256"},{"internalType":"uint256","name":"kpp","type":"uint256"},{"internalType":"uint256","name":"creationTimestamp","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationId","type":"uint256"}],"name":"executeMultiSigOperation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"name":"executeProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"executedMultiSig","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"executedProposals","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDLEInfo","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"string","name":"coordinates","type":"string"},{"internalType":"uint256","name":"jurisdiction","type":"uint256"},{"internalType":"uint256","name":"oktmo","type":"uint256"},{"internalType":"string[]","name":"okvedCodes","type":"string[]"},{"internalType":"uint256","name":"kpp","type":"uint256"},{"internalType":"uint256","name":"creationTimestamp","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"}],"internalType":"struct DLE.DLEInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_moduleId","type":"bytes32"}],"name":"getModuleAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSupportedChainCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getSupportedChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"}],"name":"isChainSupported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_moduleId","type":"bytes32"}],"name":"isModuleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"modules","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multiSigCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"multiSigOperations","outputs":[{"internalType":"bytes32","name":"operationHash","type":"bytes32"},{"internalType":"uint256","name":"forSignatures","type":"uint256"},{"internalType":"uint256","name":"againstSignatures","type":"uint256"},{"internalType":"bool","name":"executed","type":"bool"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"address","name":"initiator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"bool","name":"executed","type":"bool"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"address","name":"initiator","type":"address"},{"internalType":"bytes","name":"operation","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quorumPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_moduleId","type":"bytes32"}],"name":"removeModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationId","type":"uint256"},{"internalType":"bool","name":"_support","type":"bool"}],"name":"signMultiSigOperation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"supportedChains","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_fromChainId","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"syncExecutionFromChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_operationId","type":"uint256"},{"internalType":"uint256","name":"_fromChainId","type":"uint256"},{"internalType":"uint256","name":"_forSignatures","type":"uint256"},{"internalType":"uint256","name":"_againstSignatures","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"syncMultiSigFromChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"name":"syncToAllChains","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_fromChainId","type":"uint256"},{"internalType":"uint256","name":"_forVotes","type":"uint256"},{"internalType":"uint256","name":"_againstVotes","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"syncVoteFromChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"bool","name":"_support","type":"bool"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"abi_decode_array_uint256_dyn_fromMemory":{"entryPoint":4642,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_string_fromMemory":{"entryPoint":4531,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":4880,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":4934,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":4456,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_string_dyn":{"entryPoint":4618,"id":null,"parameterSlots":1,"returnSlots":1},"clear_storage_range_bytes1":{"entryPoint":4796,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":4494,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":4735,"id":null,"parameterSlots":1,"returnSlots":1},"increment_uint256":{"entryPoint":4821,"id":null,"parameterSlots":1,"returnSlots":1},"memory_array_index_access_uint256_dyn":{"entryPoint":4837,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[],"linkReferences":{},"object":"608060405234620011075762003e8380380390816200001e8162001168565b918239604081838101031262001107578051906001600160401b03821162001107576101809283838301828401031262001107576040519384016001600160401b0381118582101762000b7b57604052818301516001600160401b038111620011075762000094908284019085850101620011b3565b8452818301602001516001600160401b0381116200110757620000bf908284019085850101620011b3565b6020850152818301604001516001600160401b0381116200110757620000ed908284019085850101620011b3565b6040850152818301606001516001600160401b03811162001107576200011b908284019085850101620011b3565b60608501528183016080818101519086015260a0808201519086015260c001516001600160401b038111620011075783830101818301601f8201121562001107578051620001736200016d826200120a565b62001168565b9160208084848152019260051b820101918486018311620011075760208201905b83821062001134575050505060c085015281830160e08181015190860152610100808201519086015261012001516001600160401b0381116200110757818301601f8286860101011215620011075780848401015190620001f96200016d836200120a565b91602083828152019184860160208360051b838a8a01010101116200110757916020838888010101925b60208360051b828a8a0101010184106200110c575050505061012085015281830161014001516001600160401b03811162001107576200026b90828401908585010162001222565b6101408501528183016101600151926001600160401b03841162001107576020936200029d9284019184010162001222565b610160840152015181516020830151815191939092916001600160401b03811162000b7b57620002cf6003546200127f565b601f8111620010b4575b506020601f82116001146200104457819293949560009262001038575b50508160011b916000199060031b1c1916176003555b82516001600160401b03811162000b7b576200032a6004546200127f565b601f811162000fe5575b506020601f821160011462000f76578192939460009262000f6a575b50508160011b916000199060031b1c1916176004555b6001600555805191602082015160408301516060840151608085015160a08601519060c08701519260e088015194604051968761014081011060018060401b036101408a01111762000b7b5761014088016040528a8852602088015260408701526060860152608085015260a084015260c083015260e0820152426101008201526001610120820152835160018060401b03811162000b7b576200040c6006546200127f565b601f811162000f17575b506020601f821160011462000ea757819293949560009262000e9b575b50508160011b916000199060031b1c1916176006555b602081015180519093906001600160401b03811162000b7b576200046f6007546200127f565b601f811162000e48575b506020601f821160011462000dd857819293949560009262000dcc575b50508160011b916000199060031b1c1916176007555b604082015180519093906001600160401b03811162000b7b57620004d26008546200127f565b601f811162000d79575b506020601f821160011462000d0957819293949560009262000cfd575b50508160011b916000199060031b1c1916176008555b606083015180519093906001600160401b03811162000b7b57620005356009546200127f565b601f811162000caa575b506020601f821160011462000c3a57819293949560009262000c2e575b50508160011b916000199060031b1c1916176009555b6080810151600a5560a0810151600b5560c081015180519068010000000000000000821162000b7b57600c5482600c5580831062000b91575b50600c60009081527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c792916020015b82821062000a495786866101208760e0810151600d55610100810151600e550151151560ff8019600f5416911617600f5561010082015160105560135560005b61016082015190815181101562000660576200063b816200065a93620012e5565b5160005260186020526040600020600160ff19825416179055620012d5565b6200061a565b8261012081015151610140820151510362000a04576101208101515115620009bf5760005b6101208201518051821015620007f1576001600160a01b03908190620006ad908490620012e5565b511615620007bd57620006c682610140850151620012e5565b51156200078a57620006de82610120850151620012e5565b511690620006f281610140850151620012e5565b51918015620007715760025483810181116200075b577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60208562000755966000940160025584845283825260408420818154019055604051908152a3620012d5565b62000685565b634e487b7160e01b600052601160045260246000fd5b60405163ec442f0560e01b815260006004820152602490fd5b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606490fd5b8261012081015161014082015190604051916040830160408452825180915260206060850193019060005b8181106200099f57867ff9e7aa11bcdcbb8ac33b5dba92fca799ef091e54c29270822065501d8edea1a587806200085c8989838203602085015262001310565b0390a1805160208201516040830151926060810151608082015190620008e160a084015191620008d260c086015198620008c361016060e089015198015198620008b46040519b6101408d526101408d019062001346565b908b820360208d015262001346565b9089820360408b015262001346565b90878203606089015262001346565b91608086015260a085015283810360c0850152845180825260208201916020808360051b8301019701926000915b8383106200096f577f11b248463a1620b36a975da8f250009f56fb5dd0e9d5027a90a834d0ee84d6f688806200095c8c8b8b60e08501523061010085015283820361012085015262001310565b0390a1604051612b1590816200136e8239f35b90919293976020806200098f600193601f198682030187528c5162001346565b9a0193019301919392906200090f565b82516001600160a01b03168552602094850194909201916001016200081c565b60405162461bcd60e51b815260206004820152601360248201527f4e6f20696e697469616c20706172746e657273000000000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527f417272617973206c656e677468206d69736d61746368000000000000000000006044820152606490fd5b80518051906001600160401b03821162000b7b5762000a6986546200127f565b601f811162000b39575b50602090601f831160011462000ac457928260019493602093869560009262000ab8575b5050600019600383901b1c191690841b1787555b01940191019092620005da565b01519050388062000a97565b908660005260206000209160005b601f198516811062000b20575083602093600196938796938794601f1981161062000b06575b505050811b01875562000aab565b015160001960f88460031b161c1916905538808062000af8565b9192602060018192868501518155019401920162000ad2565b62000b6990876000526020600020601f850160051c8101916020861062000b70575b601f0160051c0190620012bc565b3862000a73565b909150819062000b5b565b634e487b7160e01b600052604160045260246000fd5b600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7908382015b818301811062000bce575050620005ab565b8062000bdd600192546200127f565b8062000bec575b500162000bbc565b601f8111831462000c045750600081555b3862000be4565b60009082825262000c24601f60208420920160051c8201858301620012bc565b8183555562000bfd565b0151905038806200055c565b600960005260206000209060005b601f198416811062000c91575060019394959683601f1981161062000c77575b505050811b0160095562000572565b015160001960f88460031b161c1916905538808062000c68565b9091602060018192858b01518155019301910162000c48565b600960005262000cf6907f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af601f840160051c8101916020851062000b7057601f0160051c0190620012bc565b386200053f565b015190503880620004f9565b600860005260206000209060005b601f198416811062000d60575060019394959683601f1981161062000d46575b505050811b016008556200050f565b015160001960f88460031b161c1916905538808062000d37565b9091602060018192858b01518155019301910162000d17565b600860005262000dc5907ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3601f840160051c8101916020851062000b7057601f0160051c0190620012bc565b38620004dc565b01519050388062000496565b600760005260206000209060005b601f198416811062000e2f575060019394959683601f1981161062000e15575b505050811b01600755620004ac565b015160001960f88460031b161c1916905538808062000e06565b9091602060018192858b01518155019301910162000de6565b600760005262000e94907fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688601f840160051c8101916020851062000b7057601f0160051c0190620012bc565b3862000479565b01519050388062000433565b600660005260206000209060005b601f198416811062000efe575060019394959683601f1981161062000ee4575b505050811b0160065562000449565b015160001960f88460031b161c1916905538808062000ed5565b9091602060018192858b01518155019301910162000eb5565b600660005262000f63907ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f601f840160051c8101916020851062000b7057601f0160051c0190620012bc565b3862000416565b01519050388062000350565b600460005260206000209060005b601f198416811062000fcc5750600193949583601f1981161062000fb2575b505050811b0160045562000366565b015160001960f88460031b161c1916905538808062000fa3565b9091602060018192858a01518155019301910162000f84565b600460005262001031907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c8101916020851062000b7057601f0160051c0190620012bc565b3862000334565b015190503880620002f6565b600360005260206000209060005b601f19841681106200109b575060019394959683601f1981161062001081575b505050811b016003556200030c565b015160001960f88460031b161c1916905538808062001072565b9091602060018192858b01518155019301910162001052565b600360005262001100907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101916020851062000b7057601f0160051c0190620012bc565b38620002d9565b600080fd5b8351916001600160a01b03831683036200110757602081819482935201940193915062000223565b81516001600160401b03811162001107576020916200115c8392838a8c0191880101620011b3565b81520191019062000194565b6040519190601f01601f191682016001600160401b0381118382101762000b7b57604052565b60005b838110620011a25750506000910152565b818101518382015260200162001191565b81601f82011215620011075780516001600160401b03811162000b7b57620011e5601f8201601f191660200162001168565b928184526020828401011162001107576200120791602080850191016200118e565b90565b6001600160401b03811162000b7b5760051b60200190565b9080601f830112156200110757815190620012416200016d836200120a565b9182938184526020808095019260051b82010192831162001107578301905b8282106200126f575050505090565b8151815290830190830162001260565b90600182811c92168015620012b1575b60208310146200129b57565b634e487b7160e01b600052602260045260246000fd5b91607f16916200128f565b818110620012c8575050565b60008155600101620012bc565b60001981146200075b5760010190565b8051821015620012fa5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90815180825260208080930193019160005b82811062001331575050505090565b83518552938101939281019260010162001322565b9060209162001361815180928185528580860191016200118e565b601f01601f191601019056fe60808060405260048036101561001457600080fd5b60003560e01c918263013cf08b14611dda57508163044bc2bd14611cab578163057b207414611c9057816306fdde0314611bc2578163095ea7b314611b235781630c0512e914611b055781630d61b519146118ff57816318160ddd146118e1578163204c5d1f1461164e57816322dbefbb14610b3c57816323b872dd146115565781632ee09598146114bc578163313ce567146114a057816335324eee146113385781633b60288a146113095781634114509b146111ef578163456d10c1146111095781634b145793146107455781634de184f6146110e65781634fa76ec9146110eb5781635221c1f0146110e6578163548d496f146110b75781635cf0e8a4146110995781636cbadbfa1461109957816370a082311461105f5781637ce288ea14610f6b5781637e5a9b4714610f3c578163893d692a14610e205781638c7b04c914610e0257816395d89b4114610d175781639a49bdde14610cf2578163a9059cbb14610cc1578163af89d2c414610c92578163b00e073014610b6e578163b0b6cc1a14610b3c578163b359451014610774578163b3fe8bcb14610745578163c51cab3a146106d5578163c9d27afe1461054e578163ccd7a49014610388578163dd62ed3e14610337578163e49a62e914610310578163eced3dfb146102f4575063f2c26a471461020557600080fd5b346102ef5760003660031901126102ef576102a46040516102308161022981611edb565b03826121dd565b6040516102408161022981611f7f565b604051906102588261025181612006565b03836121dd565b60405191610270836102698161208d565b03846121dd565b600a5492600b546102ce600d54926102c0600e54956102b260ff600f5416986040519c8d9c8d610120908181520190612222565b8c810360208e015290612222565b908a820360408c0152612222565b9088820360608a0152612222565b94608087015260a086015260c085015260e084015215156101008301520390f35b600080fd5b346102ef5760003660031901126102ef57602090604051908152f35b346102ef5760203660031901126102ef5761032d6020913561278c565b6040519015158152f35b346102ef5760403660031901126102ef576103506122b8565b6103586122ce565b9060018060a01b038091166000526001602052604060002091166000526020526020604060002054604051908152f35b346102ef576103963661234c565b9061039f6125f5565b80600052602092601784526040600020906103bc825415156126c5565b8082015442101561051a576103d860ff60038401541615612711565b60068201903360005281865260ff604060002054166104e5573360005260008652604060002054156104ad57509361048e917f78b8e65c466df05ea5ddf0593b44648eca1f35c039f180e31257a6f1bdd005dc95336000526000835260406000205492526040600020600160ff198254161790558460001461049857600101610462828254612449565b90555b604080519384523360208501529315159383019390935260608201929092529081906080820190565b0390a16001600555005b6002016104a6828254612449565b9055610465565b60405162461bcd60e51b815290810186905260116024820152702737903a37b5b2b739903a379039b4b3b760791b6044820152606490fd5b60405162461bcd60e51b8152908101869052600e60248201526d105b1c9958591e481cda59db995960921b6044820152606490fd5b60405162461bcd60e51b8152908101859052600d60248201526c14da59db9a5b99c8195b991959609a1b6044820152606490fd5b346102ef5761055c3661234c565b906105656125f5565b80600052602092601684526040600020906105828383541461255d565b60058201544210156106a25761059e60ff8284015416156125a9565b60088201903360005281865260ff6040600020541661066e5733600052600086526040600020541561063657509361048e917f78975aaf742630489badd22949b88ac50eaaea576339ee05440b671a33bfb6a995336000526000835260406000205492526040600020600160ff198254161790558460001461062857600201610462828254612449565b6003016104a6828254612449565b60405162461bcd60e51b815290810186905260116024820152704e6f20746f6b656e7320746f20766f746560781b6044820152606490fd5b60405162461bcd60e51b8152908101869052600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b60405162461bcd60e51b8152908101859052600c60248201526b159bdd1a5b99c8195b99195960a21b6044820152606490fd5b346102ef5760203660031901126102ef578060c091356000526017602052604060002090815491600181015491600282015460ff6003840154169183015492600560018060a01b0391015416936040519586526020860152604085015215156060840152608083015260a0820152f35b346102ef5760203660031901126102ef57356000526015602052602060ff604060002054166040519015158152f35b346102ef5760803660031901126102ef57803567ffffffffffffffff918282116102ef57366023830112156102ef576107b7602492369084818501359101612263565b908235936044358181116102ef576107d2903690840161229a565b9460643595336000526020966000885260406000205415610aed576107f883151561246c565b806000526018885261081160ff604060002054166124b8565b6000526018875260ff6040600020541615610ab45760115495610833876124fa565b601155866000526016885260406000208781556001938482018851878111610aa057610869816108638454611ea1565b84612509565b8b8c601f8311600114610a2b5750918160079594926108bc94600091610a20575b50600019600383901b1c191690891b1790555b600060028401556000600384015588830160ff19815416905542612449565b600582015560068101336001600160601b0360a01b82541617905501948251948511610a0d5750506108f8836108f28654611ea1565b86612509565b8690601f841160011461098057928061096a959381937f7585f467599d0f008985f231af99293be388626ac16ca59505c2f8f88969cd639896600094610975575b50501b916000199060031b1c19161790555b6040519182918583523387840152606060408401526060830190612222565b0390a1604051908152f35b015192508a80610939565b90601f9392931983169185600052886000209260005b8a8282106109f9575050917f7585f467599d0f008985f231af99293be388626ac16ca59505c2f8f88969cd63979593918561096a989694106109e0575b505050811b01905561094b565b015160001960f88460031b161c191690558880806109d3565b838501518655948701949384019301610996565b604190634e487b7160e01b600052526000fd5b90508c01518f61088a565b8892918c601f1984168660005283600020936000905b828210610a855750509160079897959391856108bc98969410610a6c575b505050811b01905561089d565b015160001960f88460031b161c191690558f808e610a5f565b9284015185558c9690940193928201928f9290810190610a41565b8460418a634e487b7160e01b600052526000fd5b60405162461bcd60e51b815280850188905260138188015272436861696e206e6f7420617661696c61626c6560681b6044820152606490fd5b60405162461bcd60e51b81528086018990526023818901527f4d75737420686f6c6420746f6b656e7320746f206372656174652070726f706f6044820152621cd85b60ea1b6064820152608490fd5b346102ef5760203660031901126102ef57356000526014602052602060018060a01b0360406000205416604051908152f35b346102ef5760403660031901126102ef5780359060243533600052600060205260406000205415610c42576060602093600583610bcd7f8d5c76b09b9c1f4d0453d21436dcb0b568a50e9c0ae059e4d0ae8c95c71d07f095151561246c565b60125495610bda876124fa565b6012558660005260178852610c1160406000209285845560006001850155600060028501556003840160ff19815416905542612449565b9082015501336001600160601b0360a01b8254161790556040519084825233868301526040820152a1604051908152f35b60405162461bcd60e51b81526020818401526024808201527f4d75737420686f6c6420746f6b656e7320746f20637265617465206f706572616044820152633a34b7b760e11b6064820152608490fd5b346102ef5760203660031901126102ef5735600052601a602052602060ff604060002054166040519015158152f35b346102ef5760403660031901126102ef57610ce7610cdd6122b8565b602435903361236b565b602060405160018152f35b346102ef5760203660031901126102ef57610d0f602091356127ed565b604051908152f35b346102ef5760003660031901126102ef57604051906000908054610d3a81611ea1565b80855291600191808316908115610dd85750600114610d7c575b610d7885610d64818703826121dd565b604051918291602083526020830190612222565b0390f35b600090815292507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610dc0575050508101602001610d6482610d78610d54565b80546020858701810191909152909301928101610da5565b869550610d7896935060209250610d6494915060ff191682840152151560051b8201019293610d54565b346102ef5760003660031901126102ef576020601254604051908152f35b346102ef5760203660031901126102ef57803590816000526017602052604060002090815491610e518315156126c5565b600381019180835492610e6760ff851615612711565b01544210610f0457610e788561275d565b81610efc575b5015610ec1577f64cee5a70d662a7eef5b2a171daa51dc624f3d64a35d0855b385262b893dc5a5604086868660018760ff191617905582519182526020820152a1005b60649060206040519162461bcd60e51b8352820152601460248201527313dc195c985d1a5bdb881b9bdd081c185cdcd95960621b6044820152fd5b905086610e7e565b60649060206040519162461bcd60e51b8352820152601160248201527014da59db9a5b99c81b9bdd08195b991959607a1b6044820152fd5b346102ef5760203660031901126102ef57610f579035612668565b604080519215158352901515602083015290f35b346102ef5760203660031901126102ef57803590610f888261278c565b156110245760135460005b828110610fc7577f57df5a6a467271f04b10f7fe9e66d21dcd8ae7eaf079099d48959f24a53b6910602085604051908152a1005b807f42e60114b8bc5803b43a4bcd35572ece9a5e2cabb79a838a02d56a4c53e83313611017610ff861101f946127ed565b604051918291878a846040919493926060820195825260208201520152565b0390a16124fa565b610f93565b60649060206040519162461bcd60e51b835282015260146024820152734e6f7420616c6c20636861696e7320726561647960601b6044820152fd5b346102ef5760203660031901126102ef576001600160a01b036110806122b8565b1660005260006020526020604060002054604051908152f35b346102ef5760003660031901126102ef576020601354604051908152f35b346102ef5760203660031901126102ef57356000526018602052602060ff604060002054166040519015158152f35b61231f565b346102ef5760003660031901126102ef576020601054604051908152f35b346102ef577fca1838d50ca3156f1ace7cde39a081cc9c9a333af6fca55db71817f8717e1dcb611138366122e4565b508360009493945260166020526111ae6003604060002061115b8682541461255d565b86600052601860205261117560ff604060002054166124b8565b6009810194876000528560205261119460ff6040600020541615612618565b6111a360028301918254612449565b905501918254612449565b9055826000526020526040600020600160ff198254161790556111ea601354604051938493846040919493926060820195825260208201520152565b0390a1005b346102ef576020806003193601126102ef578135913360005260008252604060002054156112bd57826000526015825260ff60406000205416156112835750600082815260148252604080822080546001600160a01b03191690556015835290819020805460ff19169055519182527f4c7c76abe482a2c36ea52f1b999474c69f8b4afeeac5635f8aea2526864ba85391a1005b6064916040519162461bcd60e51b83528201526015602482015274135bd91d5b1948191bd95cc81b9bdd08195e1a5cdd605a1b6044820152fd5b6084916040519162461bcd60e51b8352820152602160248201527f4d75737420686f6c6420746f6b656e7320746f2072656d6f7665206d6f64756c6044820152606560f81b6064820152fd5b346102ef5760203660031901126102ef57356000526019602052602060ff604060002054166040519015158152f35b346102ef5760403660031901126102ef578035906113546122ce565b33600052602090600082526040600020541561145c576001600160a01b031691821561142b57836000526015825260ff604060002054166113f1577ff14475b19484bf096265507cc0c41cd3bf1994992088806830686e2d727227196040858585826000526014815283600020826001600160601b0360a01b8254161790556015815283600020600160ff198254161790558351928352820152a1005b6064916040519162461bcd60e51b835282015260156024820152744d6f64756c6520616c72656164792065786973747360581b6044820152fd5b6064916040519162461bcd60e51b8352820152600c60248201526b5a65726f206164647265737360a01b6044820152fd5b60405162461bcd60e51b8152808401839052601e60248201527f4d75737420686f6c6420746f6b656e7320746f20616464206d6f64756c6500006044820152606490fd5b346102ef5760003660031901126102ef57602060405160128152f35b346102ef577fe379b3deb66ddfa7962a2bdf35e9a08b5bed672c9da3ecf7cc6174d253c6dfe56114eb366122e4565b508360009493945260176020526111ae6002604060002061150e815415156126c5565b86600052601860205261152860ff604060002054166124b8565b6007810194876000528560205261154760ff6040600020541615612618565b6111a360018301918254612449565b346102ef5760603660031901126102ef5761156f6122b8565b6115776122ce565b6044359160018060a01b0381168060005260016020526040600020336000526020526040600020549460001986106115b6575b5050610ce7935061236b565b84861061162257811561160a5733156115f25750610ce794849160005260016020526040600020336000526020520360406000205584806115aa565b602490600060405191634a1406b160e11b8352820152fd5b60249060006040519163e602df0560e01b8352820152fd5b60408051637dc7a0d960e11b815233928101928352602083018890529082018690529081906060010390fd5b346102ef5760003660031901126102ef576000610120604051611670816121aa565b6060815260606020820152606060408201526060808201528260808201528260a0820152606060c08201528260e0820152826101008201520152604051906116b7826121aa565b6040516116c78161022981611edb565b82526040516116d98161022981611f7f565b60208301526040516116ee8161022981612006565b6040830152604051611703816102298161208d565b6060830152600a546080830152600b5460a0830152600c549067ffffffffffffffff82116118cc57506040519061174060208260051b01836121dd565b80825260208201600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c76000915b8383106118a757858560c0820152600d5460e0820152600e5461010082015260ff600f54161515610120820152604051602081526118086117f26117dc6117c685516101406020870152610160860190612222565b6020860151858203601f19016040870152612222565b6040850151848203601f19016060860152612222565b6060840151838203601f19016080850152612222565b608083015160a083015260a083015160c083015260c083015190601f198382030160e0840152815180825260208201916020808360051b8301019401926000915b83831061187a578680876101208b60e081015161010085015261010081015182850152015115156101408301520390f35b9091929394602080611898600193601f198682030187528951612222565b97019301930191939290611849565b6001602081926040516118be816102298189612114565b815201920192019190611771565b604190634e487b7160e01b6000525260246000fd5b346102ef5760003660031901126102ef576020600254604051908152f35b346102ef576020806003193601126102ef57813591826000526016825260406000209161192e8484541461255d565b8183019283549261194260ff8516156125a9565b60058201544210611ace5761195686612668565b81611ac6575b5015611a8c57506007906001948560ff19809616179055019261198e604051611989816102298189612114565b612884565b60405194855260408286015260009380546119a881611ea1565b948560408901528382169182600014611a465750506001146119ed575b7fbadbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d286860387a1005b60009081528281209094505b838510611a3257505050508101606001817fbadbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d284806119c5565b8054868601606001529382019381016119f9565b91509150869550606093507fbadbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d2969492501682840152151560051b820101919284806119c5565b60405162461bcd60e51b81529081018390526013602482015272141c9bdc1bdcd85b081b9bdd081c185cdcd959606a1b6044820152606490fd5b90508761195c565b60405162461bcd60e51b8152908101839052601060248201526f159bdd1a5b99c81b9bdd08195b99195960821b6044820152606490fd5b346102ef5760003660031901126102ef576020601154604051908152f35b346102ef5760403660031901126102ef57611b3c6122b8565b602435903315611baa576001600160a01b03169182156115f25750336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b60405163e602df0560e01b8152600081850152602490fd5b346102ef5760003660031901126102ef576040516000600354611be481611ea1565b80845290600190818116908115611c695750600114611c0e575b610d7884610d64818603826121dd565b6003600090815292507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410611c51575050508101602001610d6482611bfe565b80546020858701810191909152909301928101611c39565b60ff191660208087019190915292151560051b85019092019250610d649150839050611bfe565b346102ef5760203660031901126102ef57610f57903561275d565b346102ef5760603660031901126102ef57602435813560443567ffffffffffffffff81116102ef57611ce0903690850161229a565b50816000526018602052611cfb60ff604060002054166124b8565b80600052601960205260ff60406000205416611da3577f42e60114b8bc5803b43a4bcd35572ece9a5e2cabb79a838a02d56a4c53e8331392508060005260196020526040600020600160ff198254161790556016602052604060002081815414611d84575b506111ea601354604051938493846040919493926060820195825260208201520152565b6007611989611d9d926102296040518094819301612114565b83611d60565b60405162461bcd60e51b8152602081850152601060248201526f105b1c9958591e48195e1958dd5d195960821b6044820152606490fd5b90346102ef5760203660031901126102ef5780356000526016602052610d786040600020916007835493611e1c86611e158160018501612114565b03876121dd565b60028101549260ff60038301549183015416600583015491611e5c60018060a01b0360068601541694611e556040518098819301612114565b03866121dd565b611e78604051998a998a526101008060208c01528a0190612222565b95604089015260608801521515608087015260a086015260c085015283820360e0850152612222565b90600182811c92168015611ed1575b6020831014611ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611eb0565b60065460009291611eeb82611ea1565b80825291600190818116908115611f625750600114611f0957505050565b9192935060066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f916000925b848410611f4a57505060209250010190565b80546020858501810191909152909301928101611f38565b915050602093945060ff929192191683830152151560051b010190565b60075460009291611f8f82611ea1565b80825291600190818116908115611f625750600114611fad57505050565b9192935060076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688916000925b848410611fee57505060209250010190565b80546020858501810191909152909301928101611fdc565b6008546000929161201682611ea1565b80825291600190818116908115611f62575060011461203457505050565b9192935060086000527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3916000925b84841061207557505060209250010190565b80546020858501810191909152909301928101612063565b6009546000929161209d82611ea1565b80825291600190818116908115611f6257506001146120bb57505050565b9192935060096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af916000925b8484106120fc57505060209250010190565b805460208585018101919091529093019281016120ea565b906000929180549161212583611ea1565b9182825260019384811690816000146121875750600114612147575b50505050565b90919394506000526020928360002092846000945b838610612173575050505001019038808080612141565b80548587018301529401938590820161215c565b9294505050602093945060ff191683830152151560051b01019038808080612141565b610140810190811067ffffffffffffffff8211176121c757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176121c757604052565b60005b8381106122125750506000910152565b8181015183820152602001612202565b9060209161223b815180928185528580860191016121ff565b601f01601f1916010190565b67ffffffffffffffff81116121c757601f01601f191660200190565b92919261226f82612247565b9161227d60405193846121dd565b8294818452818301116102ef578281602093846000960137010152565b9080601f830112156102ef578160206122b593359101612263565b90565b600435906001600160a01b03821682036102ef57565b602435906001600160a01b03821682036102ef57565b60a06003198201126102ef57600435916024359160443591606435916084359067ffffffffffffffff82116102ef576122b59160040161229a565b346102ef5760203660031901126102ef57602061032d600435600052601860205260ff6040600020541690565b60409060031901126102ef576004359060243580151581036102ef5790565b916001600160a01b03808416928315612430571692831561241757600090838252816020526040822054908382106123e5575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b9190820180921161245657565b634e487b7160e01b600052601160045260246000fd5b1561247357565b60405162461bcd60e51b815260206004820152601960248201527f4475726174696f6e206d75737420626520706f736974697665000000000000006044820152606490fd5b156124bf57565b60405162461bcd60e51b815260206004820152601360248201527210da185a5b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b60001981146124565760010190565b90601f811161251757505050565b600091825260208220906020601f850160051c83019410612553575b601f0160051c01915b82811061254857505050565b81815560010161253c565b9092508290612533565b1561256457565b60405162461bcd60e51b815260206004820152601760248201527f50726f706f73616c20646f6573206e6f742065786973740000000000000000006044820152606490fd5b156125b057565b60405162461bcd60e51b815260206004820152601960248201527f50726f706f73616c20616c7265616479206578656375746564000000000000006044820152606490fd5b600260055414612606576002600555565b604051633ee5aeb560e01b8152600490fd5b1561261f57565b60405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481cde5b98d95960921b6044820152606490fd5b8181029291811591840414171561245657565b9081600052601660205261268360406000209283541461255d565b60036002830154920154916126988382612449565b60646126a960025460105490612655565b041115928391826126bb575b50509190565b11905038806126b5565b156126cc57565b60405162461bcd60e51b815260206004820152601860248201527f4f7065726174696f6e20646f6573206e6f7420657869737400000000000000006044820152606490fd5b1561271857565b60405162461bcd60e51b815260206004820152601a60248201527f4f7065726174696f6e20616c72656164792065786563757465640000000000006044820152606490fd5b6000526017602052604060002090612777825415156126c5565b60026001830154920154916126988382612449565b6127a5600091808352601660205260408320541461255d565b805b600481106127b6575050600190565b6127d66127c2826127ed565b600052601860205260ff6040600020541690565b156127e9576127e4906124fa565b6127a7565b5090565b80156128575760018114612851576002811461284b576003146128455760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840c6d0c2d2dc40d2dcc8caf606b1b6044820152606490fd5b61a4b190565b50603890565b50608990565b50600190565b91908260409103126102ef5781516001600160a01b03811681036102ef5760209092015190565b80518101906020908082840193604091829103126102ef57818301516001600160e01b0319811692908390036102ef57818101519067ffffffffffffffff82116102ef57019184603f840112156102ef5783830151926128e384612247565b936128f0845195866121dd565b808552858501968482840101116102ef57868461290d93016121ff565b63a9059cbb60e01b8103612942575050916129309183612940945101019061285d565b906001600160a01b03163361236b565b565b909391906340c10f1960e01b81036129d95750908282612965935101019061285d565b6001600160a01b039091169283156129c25791816000936129a97fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94600254612449565b60025585855284835280852082815401905551908152a3565b5163ec442f0560e01b815260006004820152602490fd5b939493632770a7eb60e21b03612aa7579082826129f9935101019061285d565b916001600160a01b03909116908115612a8f576000928284528382528584205495818710612a615781859697857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9697528785520381872055816002540360025551908152a3565b5163391434e360e21b81526001600160a01b0384166004820152602481018790526044810191909152606490fd5b8451634b637e8f60e11b815260006004820152602490fd5b845162461bcd60e51b81526004810184905260116024820152702ab735b737bbb71037b832b930ba34b7b760791b6044820152606490fdfea2646970667358221220f64aff06e475b418e3cb3e3892104b639f9a88cb834dec83d25ec4b55d34f0bd64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE PUSH3 0x1107 JUMPI PUSH3 0x3E83 DUP1 CODESIZE SUB SWAP1 DUP2 PUSH3 0x1E DUP2 PUSH3 0x1168 JUMP JUMPDEST SWAP2 DUP3 CODECOPY PUSH1 0x40 DUP2 DUP4 DUP2 ADD SUB SLT PUSH3 0x1107 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0x1107 JUMPI PUSH2 0x180 SWAP3 DUP4 DUP4 DUP4 ADD DUP3 DUP5 ADD SUB SLT PUSH3 0x1107 JUMPI PUSH1 0x40 MLOAD SWAP4 DUP5 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP6 DUP3 LT OR PUSH3 0xB7B JUMPI PUSH1 0x40 MSTORE DUP2 DUP4 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI PUSH3 0x94 SWAP1 DUP3 DUP5 ADD SWAP1 DUP6 DUP6 ADD ADD PUSH3 0x11B3 JUMP JUMPDEST DUP5 MSTORE DUP2 DUP4 ADD PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI PUSH3 0xBF SWAP1 DUP3 DUP5 ADD SWAP1 DUP6 DUP6 ADD ADD PUSH3 0x11B3 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD MSTORE DUP2 DUP4 ADD PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI PUSH3 0xED SWAP1 DUP3 DUP5 ADD SWAP1 DUP6 DUP6 ADD ADD PUSH3 0x11B3 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MSTORE DUP2 DUP4 ADD PUSH1 0x60 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI PUSH3 0x11B SWAP1 DUP3 DUP5 ADD SWAP1 DUP6 DUP6 ADD ADD PUSH3 0x11B3 JUMP JUMPDEST PUSH1 0x60 DUP6 ADD MSTORE DUP2 DUP4 ADD PUSH1 0x80 DUP2 DUP2 ADD MLOAD SWAP1 DUP7 ADD MSTORE PUSH1 0xA0 DUP1 DUP3 ADD MLOAD SWAP1 DUP7 ADD MSTORE PUSH1 0xC0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI DUP4 DUP4 ADD ADD DUP2 DUP4 ADD PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH3 0x1107 JUMPI DUP1 MLOAD PUSH3 0x173 PUSH3 0x16D DUP3 PUSH3 0x120A JUMP JUMPDEST PUSH3 0x1168 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP1 DUP5 DUP5 DUP2 MSTORE ADD SWAP3 PUSH1 0x5 SHL DUP3 ADD ADD SWAP2 DUP5 DUP7 ADD DUP4 GT PUSH3 0x1107 JUMPI PUSH1 0x20 DUP3 ADD SWAP1 JUMPDEST DUP4 DUP3 LT PUSH3 0x1134 JUMPI POP POP POP POP PUSH1 0xC0 DUP6 ADD MSTORE DUP2 DUP4 ADD PUSH1 0xE0 DUP2 DUP2 ADD MLOAD SWAP1 DUP7 ADD MSTORE PUSH2 0x100 DUP1 DUP3 ADD MLOAD SWAP1 DUP7 ADD MSTORE PUSH2 0x120 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI DUP2 DUP4 ADD PUSH1 0x1F DUP3 DUP7 DUP7 ADD ADD ADD SLT ISZERO PUSH3 0x1107 JUMPI DUP1 DUP5 DUP5 ADD ADD MLOAD SWAP1 PUSH3 0x1F9 PUSH3 0x16D DUP4 PUSH3 0x120A JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP2 DUP5 DUP7 ADD PUSH1 0x20 DUP4 PUSH1 0x5 SHL DUP4 DUP11 DUP11 ADD ADD ADD ADD GT PUSH3 0x1107 JUMPI SWAP2 PUSH1 0x20 DUP4 DUP9 DUP9 ADD ADD ADD SWAP3 JUMPDEST PUSH1 0x20 DUP4 PUSH1 0x5 SHL DUP3 DUP11 DUP11 ADD ADD ADD ADD DUP5 LT PUSH3 0x110C JUMPI POP POP POP POP PUSH2 0x120 DUP6 ADD MSTORE DUP2 DUP4 ADD PUSH2 0x140 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI PUSH3 0x26B SWAP1 DUP3 DUP5 ADD SWAP1 DUP6 DUP6 ADD ADD PUSH3 0x1222 JUMP JUMPDEST PUSH2 0x140 DUP6 ADD MSTORE DUP2 DUP4 ADD PUSH2 0x160 ADD MLOAD SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 GT PUSH3 0x1107 JUMPI PUSH1 0x20 SWAP4 PUSH3 0x29D SWAP3 DUP5 ADD SWAP2 DUP5 ADD ADD PUSH3 0x1222 JUMP JUMPDEST PUSH2 0x160 DUP5 ADD MSTORE ADD MLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD DUP2 MLOAD SWAP2 SWAP4 SWAP1 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x2CF PUSH1 0x3 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0x10B4 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0x1044 JUMPI DUP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x0 SWAP3 PUSH3 0x1038 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x3 SSTORE JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x32A PUSH1 0x4 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0xFE5 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0xF76 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH3 0xF6A JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x4 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x5 SSTORE DUP1 MLOAD SWAP2 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP7 ADD MLOAD SWAP1 PUSH1 0xC0 DUP8 ADD MLOAD SWAP3 PUSH1 0xE0 DUP9 ADD MLOAD SWAP5 PUSH1 0x40 MLOAD SWAP7 DUP8 PUSH2 0x140 DUP2 ADD LT PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB PUSH2 0x140 DUP11 ADD GT OR PUSH3 0xB7B JUMPI PUSH2 0x140 DUP9 ADD PUSH1 0x40 MSTORE DUP11 DUP9 MSTORE PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP7 ADD MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE TIMESTAMP PUSH2 0x100 DUP3 ADD MSTORE PUSH1 0x1 PUSH2 0x120 DUP3 ADD MSTORE DUP4 MLOAD PUSH1 0x1 DUP1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x40C PUSH1 0x6 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0xF17 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0xEA7 JUMPI DUP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x0 SWAP3 PUSH3 0xE9B JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x6 SSTORE JUMPDEST PUSH1 0x20 DUP2 ADD MLOAD DUP1 MLOAD SWAP1 SWAP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x46F PUSH1 0x7 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0xE48 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0xDD8 JUMPI DUP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x0 SWAP3 PUSH3 0xDCC JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x7 SSTORE JUMPDEST PUSH1 0x40 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 SWAP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x4D2 PUSH1 0x8 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0xD79 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0xD09 JUMPI DUP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x0 SWAP3 PUSH3 0xCFD JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x8 SSTORE JUMPDEST PUSH1 0x60 DUP4 ADD MLOAD DUP1 MLOAD SWAP1 SWAP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x535 PUSH1 0x9 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0xCAA JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH3 0xC3A JUMPI DUP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x0 SWAP3 PUSH3 0xC2E JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x9 SSTORE JUMPDEST PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0xA SSTORE PUSH1 0xA0 DUP2 ADD MLOAD PUSH1 0xB SSTORE PUSH1 0xC0 DUP2 ADD MLOAD DUP1 MLOAD SWAP1 PUSH9 0x10000000000000000 DUP3 GT PUSH3 0xB7B JUMPI PUSH1 0xC SLOAD DUP3 PUSH1 0xC SSTORE DUP1 DUP4 LT PUSH3 0xB91 JUMPI JUMPDEST POP PUSH1 0xC PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH32 0xDF6966C971051C3D54EC59162606531493A51404A002842F56009D7E5CF4A8C7 SWAP3 SWAP2 PUSH1 0x20 ADD JUMPDEST DUP3 DUP3 LT PUSH3 0xA49 JUMPI DUP7 DUP7 PUSH2 0x120 DUP8 PUSH1 0xE0 DUP2 ADD MLOAD PUSH1 0xD SSTORE PUSH2 0x100 DUP2 ADD MLOAD PUSH1 0xE SSTORE ADD MLOAD ISZERO ISZERO PUSH1 0xFF DUP1 NOT PUSH1 0xF SLOAD AND SWAP2 AND OR PUSH1 0xF SSTORE PUSH2 0x100 DUP3 ADD MLOAD PUSH1 0x10 SSTORE PUSH1 0x13 SSTORE PUSH1 0x0 JUMPDEST PUSH2 0x160 DUP3 ADD MLOAD SWAP1 DUP2 MLOAD DUP2 LT ISZERO PUSH3 0x660 JUMPI PUSH3 0x63B DUP2 PUSH3 0x65A SWAP4 PUSH3 0x12E5 JUMP JUMPDEST MLOAD PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE PUSH3 0x12D5 JUMP JUMPDEST PUSH3 0x61A JUMP JUMPDEST DUP3 PUSH2 0x120 DUP2 ADD MLOAD MLOAD PUSH2 0x140 DUP3 ADD MLOAD MLOAD SUB PUSH3 0xA04 JUMPI PUSH2 0x120 DUP2 ADD MLOAD MLOAD ISZERO PUSH3 0x9BF JUMPI PUSH1 0x0 JUMPDEST PUSH2 0x120 DUP3 ADD MLOAD DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x7F1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 SWAP1 PUSH3 0x6AD SWAP1 DUP5 SWAP1 PUSH3 0x12E5 JUMP JUMPDEST MLOAD AND ISZERO PUSH3 0x7BD JUMPI PUSH3 0x6C6 DUP3 PUSH2 0x140 DUP6 ADD MLOAD PUSH3 0x12E5 JUMP JUMPDEST MLOAD ISZERO PUSH3 0x78A JUMPI PUSH3 0x6DE DUP3 PUSH2 0x120 DUP6 ADD MLOAD PUSH3 0x12E5 JUMP JUMPDEST MLOAD AND SWAP1 PUSH3 0x6F2 DUP2 PUSH2 0x140 DUP6 ADD MLOAD PUSH3 0x12E5 JUMP JUMPDEST MLOAD SWAP2 DUP1 ISZERO PUSH3 0x771 JUMPI PUSH1 0x2 SLOAD DUP4 DUP2 ADD DUP2 GT PUSH3 0x75B JUMPI PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 DUP6 PUSH3 0x755 SWAP7 PUSH1 0x0 SWAP5 ADD PUSH1 0x2 SSTORE DUP5 DUP5 MSTORE DUP4 DUP3 MSTORE PUSH1 0x40 DUP5 KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG3 PUSH3 0x12D5 JUMP JUMPDEST PUSH3 0x685 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x16995C9BC8185B5BDD5B9D PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x5A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP3 PUSH2 0x120 DUP2 ADD MLOAD PUSH2 0x140 DUP3 ADD MLOAD SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD PUSH1 0x40 DUP5 MSTORE DUP3 MLOAD DUP1 SWAP2 MSTORE PUSH1 0x20 PUSH1 0x60 DUP6 ADD SWAP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH3 0x99F JUMPI DUP7 PUSH32 0xF9E7AA11BCDCBB8AC33B5DBA92FCA799EF091E54C29270822065501D8EDEA1A5 DUP8 DUP1 PUSH3 0x85C DUP10 DUP10 DUP4 DUP3 SUB PUSH1 0x20 DUP6 ADD MSTORE PUSH3 0x1310 JUMP JUMPDEST SUB SWAP1 LOG1 DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 DUP4 ADD MLOAD SWAP3 PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x80 DUP3 ADD MLOAD SWAP1 PUSH3 0x8E1 PUSH1 0xA0 DUP5 ADD MLOAD SWAP2 PUSH3 0x8D2 PUSH1 0xC0 DUP7 ADD MLOAD SWAP9 PUSH3 0x8C3 PUSH2 0x160 PUSH1 0xE0 DUP10 ADD MLOAD SWAP9 ADD MLOAD SWAP9 PUSH3 0x8B4 PUSH1 0x40 MLOAD SWAP12 PUSH2 0x140 DUP14 MSTORE PUSH2 0x140 DUP14 ADD SWAP1 PUSH3 0x1346 JUMP JUMPDEST SWAP1 DUP12 DUP3 SUB PUSH1 0x20 DUP14 ADD MSTORE PUSH3 0x1346 JUMP JUMPDEST SWAP1 DUP10 DUP3 SUB PUSH1 0x40 DUP12 ADD MSTORE PUSH3 0x1346 JUMP JUMPDEST SWAP1 DUP8 DUP3 SUB PUSH1 0x60 DUP10 ADD MSTORE PUSH3 0x1346 JUMP JUMPDEST SWAP2 PUSH1 0x80 DUP7 ADD MSTORE PUSH1 0xA0 DUP6 ADD MSTORE DUP4 DUP2 SUB PUSH1 0xC0 DUP6 ADD MSTORE DUP5 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 PUSH1 0x20 DUP1 DUP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP8 ADD SWAP3 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH3 0x96F JUMPI PUSH32 0x11B248463A1620B36A975DA8F250009F56FB5DD0E9D5027A90A834D0EE84D6F6 DUP9 DUP1 PUSH3 0x95C DUP13 DUP12 DUP12 PUSH1 0xE0 DUP6 ADD MSTORE ADDRESS PUSH2 0x100 DUP6 ADD MSTORE DUP4 DUP3 SUB PUSH2 0x120 DUP6 ADD MSTORE PUSH3 0x1310 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH1 0x40 MLOAD PUSH2 0x2B15 SWAP1 DUP2 PUSH3 0x136E DUP3 CODECOPY RETURN JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP8 PUSH1 0x20 DUP1 PUSH3 0x98F PUSH1 0x1 SWAP4 PUSH1 0x1F NOT DUP7 DUP3 SUB ADD DUP8 MSTORE DUP13 MLOAD PUSH3 0x1346 JUMP JUMPDEST SWAP11 ADD SWAP4 ADD SWAP4 ADD SWAP2 SWAP4 SWAP3 SWAP1 PUSH3 0x90F JUMP JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 MSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH3 0x81C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F20696E697469616C20706172746E65727300000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x417272617973206C656E677468206D69736D6174636800000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH3 0xB7B JUMPI PUSH3 0xA69 DUP7 SLOAD PUSH3 0x127F JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH3 0xB39 JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH3 0xAC4 JUMPI SWAP3 DUP3 PUSH1 0x1 SWAP5 SWAP4 PUSH1 0x20 SWAP4 DUP7 SWAP6 PUSH1 0x0 SWAP3 PUSH3 0xAB8 JUMPI JUMPDEST POP POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP5 SHL OR DUP8 SSTORE JUMPDEST ADD SWAP5 ADD SWAP2 ADD SWAP1 SWAP3 PUSH3 0x5DA JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0xA97 JUMP JUMPDEST SWAP1 DUP7 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP6 AND DUP2 LT PUSH3 0xB20 JUMPI POP DUP4 PUSH1 0x20 SWAP4 PUSH1 0x1 SWAP7 SWAP4 DUP8 SWAP7 SWAP4 DUP8 SWAP5 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0xB06 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD DUP8 SSTORE PUSH3 0xAAB JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0xAF8 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP6 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH3 0xAD2 JUMP JUMPDEST PUSH3 0xB69 SWAP1 DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP7 LT PUSH3 0xB70 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0xA73 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH3 0xB5B JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xC PUSH1 0x0 MSTORE PUSH32 0xDF6966C971051C3D54EC59162606531493A51404A002842F56009D7E5CF4A8C7 SWAP1 DUP4 DUP3 ADD JUMPDEST DUP2 DUP4 ADD DUP2 LT PUSH3 0xBCE JUMPI POP POP PUSH3 0x5AB JUMP JUMPDEST DUP1 PUSH3 0xBDD PUSH1 0x1 SWAP3 SLOAD PUSH3 0x127F JUMP JUMPDEST DUP1 PUSH3 0xBEC JUMPI JUMPDEST POP ADD PUSH3 0xBBC JUMP JUMPDEST PUSH1 0x1F DUP2 GT DUP4 EQ PUSH3 0xC04 JUMPI POP PUSH1 0x0 DUP2 SSTORE JUMPDEST CODESIZE PUSH3 0xBE4 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP3 DUP3 MSTORE PUSH3 0xC24 PUSH1 0x1F PUSH1 0x20 DUP5 KECCAK256 SWAP3 ADD PUSH1 0x5 SHR DUP3 ADD DUP6 DUP4 ADD PUSH3 0x12BC JUMP JUMPDEST DUP2 DUP4 SSTORE SSTORE PUSH3 0xBFD JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x55C JUMP JUMPDEST PUSH1 0x9 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP2 LT PUSH3 0xC91 JUMPI POP PUSH1 0x1 SWAP4 SWAP5 SWAP6 SWAP7 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0xC77 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x9 SSTORE PUSH3 0x572 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0xC68 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP6 DUP12 ADD MLOAD DUP2 SSTORE ADD SWAP4 ADD SWAP2 ADD PUSH3 0xC48 JUMP JUMPDEST PUSH1 0x9 PUSH1 0x0 MSTORE PUSH3 0xCF6 SWAP1 PUSH32 0x6E1540171B6C0C960B71A7020D9F60077F6AF931A8BBF590DA0223DACF75C7AF PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH3 0xB70 JUMPI PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0x53F JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x4F9 JUMP JUMPDEST PUSH1 0x8 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP2 LT PUSH3 0xD60 JUMPI POP PUSH1 0x1 SWAP4 SWAP5 SWAP6 SWAP7 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0xD46 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x8 SSTORE PUSH3 0x50F JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0xD37 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP6 DUP12 ADD MLOAD DUP2 SSTORE ADD SWAP4 ADD SWAP2 ADD PUSH3 0xD17 JUMP JUMPDEST PUSH1 0x8 PUSH1 0x0 MSTORE PUSH3 0xDC5 SWAP1 PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH3 0xB70 JUMPI PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0x4DC JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x496 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP2 LT PUSH3 0xE2F JUMPI POP PUSH1 0x1 SWAP4 SWAP5 SWAP6 SWAP7 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0xE15 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x7 SSTORE PUSH3 0x4AC JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0xE06 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP6 DUP12 ADD MLOAD DUP2 SSTORE ADD SWAP4 ADD SWAP2 ADD PUSH3 0xDE6 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 MSTORE PUSH3 0xE94 SWAP1 PUSH32 0xA66CC928B5EDB82AF9BD49922954155AB7B0942694BEA4CE44661D9A8736C688 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH3 0xB70 JUMPI PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0x479 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x433 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP2 LT PUSH3 0xEFE JUMPI POP PUSH1 0x1 SWAP4 SWAP5 SWAP6 SWAP7 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0xEE4 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x6 SSTORE PUSH3 0x449 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0xED5 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP6 DUP12 ADD MLOAD DUP2 SSTORE ADD SWAP4 ADD SWAP2 ADD PUSH3 0xEB5 JUMP JUMPDEST PUSH1 0x6 PUSH1 0x0 MSTORE PUSH3 0xF63 SWAP1 PUSH32 0xF652222313E28459528D920B65115C16C04F3EFC82AAEDC97BE59F3F377C0D3F PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH3 0xB70 JUMPI PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0x416 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x350 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP2 LT PUSH3 0xFCC JUMPI POP PUSH1 0x1 SWAP4 SWAP5 SWAP6 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0xFB2 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x4 SSTORE PUSH3 0x366 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0xFA3 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP6 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP4 ADD SWAP2 ADD PUSH3 0xF84 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 MSTORE PUSH3 0x1031 SWAP1 PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH3 0xB70 JUMPI PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0x334 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH3 0x2F6 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP2 LT PUSH3 0x109B JUMPI POP PUSH1 0x1 SWAP4 SWAP5 SWAP6 SWAP7 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH3 0x1081 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x3 SSTORE PUSH3 0x30C JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH3 0x1072 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP6 DUP12 ADD MLOAD DUP2 SSTORE ADD SWAP4 ADD SWAP2 ADD PUSH3 0x1052 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 MSTORE PUSH3 0x1100 SWAP1 PUSH32 0xC2575A0E9E593C00F959F8C92F12DB2869C3395A3B0502D05E2516446F71F85B PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH3 0xB70 JUMPI PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH3 0x12BC JUMP JUMPDEST CODESIZE PUSH3 0x2D9 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP4 SUB PUSH3 0x1107 JUMPI PUSH1 0x20 DUP2 DUP2 SWAP5 DUP3 SWAP4 MSTORE ADD SWAP5 ADD SWAP4 SWAP2 POP PUSH3 0x223 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0x1107 JUMPI PUSH1 0x20 SWAP2 PUSH3 0x115C DUP4 SWAP3 DUP4 DUP11 DUP13 ADD SWAP2 DUP9 ADD ADD PUSH3 0x11B3 JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH3 0x194 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 SWAP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP4 DUP3 LT OR PUSH3 0xB7B JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH3 0x11A2 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x1191 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH3 0x1107 JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH3 0x11E5 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH3 0x1168 JUMP JUMPDEST SWAP3 DUP2 DUP5 MSTORE PUSH1 0x20 DUP3 DUP5 ADD ADD GT PUSH3 0x1107 JUMPI PUSH3 0x1207 SWAP2 PUSH1 0x20 DUP1 DUP6 ADD SWAP2 ADD PUSH3 0x118E JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH3 0xB7B JUMPI PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH3 0x1107 JUMPI DUP2 MLOAD SWAP1 PUSH3 0x1241 PUSH3 0x16D DUP4 PUSH3 0x120A JUMP JUMPDEST SWAP2 DUP3 SWAP4 DUP2 DUP5 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP6 ADD SWAP3 PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 DUP4 GT PUSH3 0x1107 JUMPI DUP4 ADD SWAP1 JUMPDEST DUP3 DUP3 LT PUSH3 0x126F JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP2 MLOAD DUP2 MSTORE SWAP1 DUP4 ADD SWAP1 DUP4 ADD PUSH3 0x1260 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH3 0x12B1 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH3 0x129B JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH3 0x128F JUMP JUMPDEST DUP2 DUP2 LT PUSH3 0x12C8 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x12BC JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH3 0x75B JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH3 0x12FA JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP1 DUP1 SWAP4 ADD SWAP4 ADD SWAP2 PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH3 0x1331 JUMPI POP POP POP POP SWAP1 JUMP JUMPDEST DUP4 MLOAD DUP6 MSTORE SWAP4 DUP2 ADD SWAP4 SWAP3 DUP2 ADD SWAP3 PUSH1 0x1 ADD PUSH3 0x1322 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH3 0x1361 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH3 0x118E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP2 DUP3 PUSH4 0x13CF08B EQ PUSH2 0x1DDA JUMPI POP DUP2 PUSH4 0x44BC2BD EQ PUSH2 0x1CAB JUMPI DUP2 PUSH4 0x57B2074 EQ PUSH2 0x1C90 JUMPI DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x1BC2 JUMPI DUP2 PUSH4 0x95EA7B3 EQ PUSH2 0x1B23 JUMPI DUP2 PUSH4 0xC0512E9 EQ PUSH2 0x1B05 JUMPI DUP2 PUSH4 0xD61B519 EQ PUSH2 0x18FF JUMPI DUP2 PUSH4 0x18160DDD EQ PUSH2 0x18E1 JUMPI DUP2 PUSH4 0x204C5D1F EQ PUSH2 0x164E JUMPI DUP2 PUSH4 0x22DBEFBB EQ PUSH2 0xB3C JUMPI DUP2 PUSH4 0x23B872DD EQ PUSH2 0x1556 JUMPI DUP2 PUSH4 0x2EE09598 EQ PUSH2 0x14BC JUMPI DUP2 PUSH4 0x313CE567 EQ PUSH2 0x14A0 JUMPI DUP2 PUSH4 0x35324EEE EQ PUSH2 0x1338 JUMPI DUP2 PUSH4 0x3B60288A EQ PUSH2 0x1309 JUMPI DUP2 PUSH4 0x4114509B EQ PUSH2 0x11EF JUMPI DUP2 PUSH4 0x456D10C1 EQ PUSH2 0x1109 JUMPI DUP2 PUSH4 0x4B145793 EQ PUSH2 0x745 JUMPI DUP2 PUSH4 0x4DE184F6 EQ PUSH2 0x10E6 JUMPI DUP2 PUSH4 0x4FA76EC9 EQ PUSH2 0x10EB JUMPI DUP2 PUSH4 0x5221C1F0 EQ PUSH2 0x10E6 JUMPI DUP2 PUSH4 0x548D496F EQ PUSH2 0x10B7 JUMPI DUP2 PUSH4 0x5CF0E8A4 EQ PUSH2 0x1099 JUMPI DUP2 PUSH4 0x6CBADBFA EQ PUSH2 0x1099 JUMPI DUP2 PUSH4 0x70A08231 EQ PUSH2 0x105F JUMPI DUP2 PUSH4 0x7CE288EA EQ PUSH2 0xF6B JUMPI DUP2 PUSH4 0x7E5A9B47 EQ PUSH2 0xF3C JUMPI DUP2 PUSH4 0x893D692A EQ PUSH2 0xE20 JUMPI DUP2 PUSH4 0x8C7B04C9 EQ PUSH2 0xE02 JUMPI DUP2 PUSH4 0x95D89B41 EQ PUSH2 0xD17 JUMPI DUP2 PUSH4 0x9A49BDDE EQ PUSH2 0xCF2 JUMPI DUP2 PUSH4 0xA9059CBB EQ PUSH2 0xCC1 JUMPI DUP2 PUSH4 0xAF89D2C4 EQ PUSH2 0xC92 JUMPI DUP2 PUSH4 0xB00E0730 EQ PUSH2 0xB6E JUMPI DUP2 PUSH4 0xB0B6CC1A EQ PUSH2 0xB3C JUMPI DUP2 PUSH4 0xB3594510 EQ PUSH2 0x774 JUMPI DUP2 PUSH4 0xB3FE8BCB EQ PUSH2 0x745 JUMPI DUP2 PUSH4 0xC51CAB3A EQ PUSH2 0x6D5 JUMPI DUP2 PUSH4 0xC9D27AFE EQ PUSH2 0x54E JUMPI DUP2 PUSH4 0xCCD7A490 EQ PUSH2 0x388 JUMPI DUP2 PUSH4 0xDD62ED3E EQ PUSH2 0x337 JUMPI DUP2 PUSH4 0xE49A62E9 EQ PUSH2 0x310 JUMPI DUP2 PUSH4 0xECED3DFB EQ PUSH2 0x2F4 JUMPI POP PUSH4 0xF2C26A47 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x2A4 PUSH1 0x40 MLOAD PUSH2 0x230 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1EDB JUMP JUMPDEST SUB DUP3 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1F7F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x258 DUP3 PUSH2 0x251 DUP2 PUSH2 0x2006 JUMP JUMPDEST SUB DUP4 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 PUSH2 0x270 DUP4 PUSH2 0x269 DUP2 PUSH2 0x208D JUMP JUMPDEST SUB DUP5 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0xA SLOAD SWAP3 PUSH1 0xB SLOAD PUSH2 0x2CE PUSH1 0xD SLOAD SWAP3 PUSH2 0x2C0 PUSH1 0xE SLOAD SWAP6 PUSH2 0x2B2 PUSH1 0xFF PUSH1 0xF SLOAD AND SWAP9 PUSH1 0x40 MLOAD SWAP13 DUP14 SWAP13 DUP14 PUSH2 0x120 SWAP1 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST DUP13 DUP2 SUB PUSH1 0x20 DUP15 ADD MSTORE SWAP1 PUSH2 0x2222 JUMP JUMPDEST SWAP1 DUP11 DUP3 SUB PUSH1 0x40 DUP13 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST SWAP1 DUP9 DUP3 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST SWAP5 PUSH1 0x80 DUP8 ADD MSTORE PUSH1 0xA0 DUP7 ADD MSTORE PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 SWAP1 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x32D PUSH1 0x20 SWAP2 CALLDATALOAD PUSH2 0x278C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x350 PUSH2 0x22B8 JUMP JUMPDEST PUSH2 0x358 PUSH2 0x22CE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 SWAP2 AND PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH2 0x396 CALLDATASIZE PUSH2 0x234C JUMP JUMPDEST SWAP1 PUSH2 0x39F PUSH2 0x25F5 JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x17 DUP5 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH2 0x3BC DUP3 SLOAD ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST DUP1 DUP3 ADD SLOAD TIMESTAMP LT ISZERO PUSH2 0x51A JUMPI PUSH2 0x3D8 PUSH1 0xFF PUSH1 0x3 DUP5 ADD SLOAD AND ISZERO PUSH2 0x2711 JUMP JUMPDEST PUSH1 0x6 DUP3 ADD SWAP1 CALLER PUSH1 0x0 MSTORE DUP2 DUP7 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x4E5 JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x4AD JUMPI POP SWAP4 PUSH2 0x48E SWAP2 PUSH32 0x78B8E65C466DF05EA5DDF0593B44648ECA1F35C039F180E31257A6F1BDD005DC SWAP6 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP4 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP5 PUSH1 0x0 EQ PUSH2 0x498 JUMPI PUSH1 0x1 ADD PUSH2 0x462 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE CALLER PUSH1 0x20 DUP6 ADD MSTORE SWAP4 ISZERO ISZERO SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x60 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x80 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH1 0x1 PUSH1 0x5 SSTORE STOP JUMPDEST PUSH1 0x2 ADD PUSH2 0x4A6 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE PUSH2 0x465 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x2737903A37B5B2B739903A379039B4B3B7 PUSH1 0x79 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x105B1C9958591E481CDA59DB9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x14DA59DB9A5B99C8195B991959 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH2 0x55C CALLDATASIZE PUSH2 0x234C JUMP JUMPDEST SWAP1 PUSH2 0x565 PUSH2 0x25F5 JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x16 DUP5 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH2 0x582 DUP4 DUP4 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SLOAD TIMESTAMP LT ISZERO PUSH2 0x6A2 JUMPI PUSH2 0x59E PUSH1 0xFF DUP3 DUP5 ADD SLOAD AND ISZERO PUSH2 0x25A9 JUMP JUMPDEST PUSH1 0x8 DUP3 ADD SWAP1 CALLER PUSH1 0x0 MSTORE DUP2 DUP7 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x66E JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x636 JUMPI POP SWAP4 PUSH2 0x48E SWAP2 PUSH32 0x78975AAF742630489BADD22949B88AC50EAAEA576339EE05440B671A33BFB6A9 SWAP6 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP4 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP5 PUSH1 0x0 EQ PUSH2 0x628 JUMPI PUSH1 0x2 ADD PUSH2 0x462 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x3 ADD PUSH2 0x4A6 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x4E6F20746F6B656E7320746F20766F7465 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x105B1C9958591E481D9BDD1959 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x159BDD1A5B99C8195B991959 PUSH1 0xA2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 PUSH1 0xC0 SWAP2 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP2 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0xFF PUSH1 0x3 DUP5 ADD SLOAD AND SWAP2 DUP4 ADD SLOAD SWAP3 PUSH1 0x5 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB SWAP2 ADD SLOAD AND SWAP4 PUSH1 0x40 MLOAD SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x15 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x80 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 DUP3 DUP3 GT PUSH2 0x2EF JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x2EF JUMPI PUSH2 0x7B7 PUSH1 0x24 SWAP3 CALLDATASIZE SWAP1 DUP5 DUP2 DUP6 ADD CALLDATALOAD SWAP2 ADD PUSH2 0x2263 JUMP JUMPDEST SWAP1 DUP3 CALLDATALOAD SWAP4 PUSH1 0x44 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x2EF JUMPI PUSH2 0x7D2 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x229A JUMP JUMPDEST SWAP5 PUSH1 0x64 CALLDATALOAD SWAP6 CALLER PUSH1 0x0 MSTORE PUSH1 0x20 SWAP7 PUSH1 0x0 DUP9 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0xAED JUMPI PUSH2 0x7F8 DUP4 ISZERO ISZERO PUSH2 0x246C JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x18 DUP9 MSTORE PUSH2 0x811 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x18 DUP8 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0xAB4 JUMPI PUSH1 0x11 SLOAD SWAP6 PUSH2 0x833 DUP8 PUSH2 0x24FA JUMP JUMPDEST PUSH1 0x11 SSTORE DUP7 PUSH1 0x0 MSTORE PUSH1 0x16 DUP9 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP8 DUP2 SSTORE PUSH1 0x1 SWAP4 DUP5 DUP3 ADD DUP9 MLOAD DUP8 DUP2 GT PUSH2 0xAA0 JUMPI PUSH2 0x869 DUP2 PUSH2 0x863 DUP5 SLOAD PUSH2 0x1EA1 JUMP JUMPDEST DUP5 PUSH2 0x2509 JUMP JUMPDEST DUP12 DUP13 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0xA2B JUMPI POP SWAP2 DUP2 PUSH1 0x7 SWAP6 SWAP5 SWAP3 PUSH2 0x8BC SWAP5 PUSH1 0x0 SWAP2 PUSH2 0xA20 JUMPI JUMPDEST POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP10 SHL OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP5 ADD SSTORE PUSH1 0x0 PUSH1 0x3 DUP5 ADD SSTORE DUP9 DUP4 ADD PUSH1 0xFF NOT DUP2 SLOAD AND SWAP1 SSTORE TIMESTAMP PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x6 DUP2 ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH1 0xA0 SHL DUP3 SLOAD AND OR SWAP1 SSTORE ADD SWAP5 DUP3 MLOAD SWAP5 DUP6 GT PUSH2 0xA0D JUMPI POP POP PUSH2 0x8F8 DUP4 PUSH2 0x8F2 DUP7 SLOAD PUSH2 0x1EA1 JUMP JUMPDEST DUP7 PUSH2 0x2509 JUMP JUMPDEST DUP7 SWAP1 PUSH1 0x1F DUP5 GT PUSH1 0x1 EQ PUSH2 0x980 JUMPI SWAP3 DUP1 PUSH2 0x96A SWAP6 SWAP4 DUP2 SWAP4 PUSH32 0x7585F467599D0F008985F231AF99293BE388626AC16CA59505C2F8F88969CD63 SWAP9 SWAP7 PUSH1 0x0 SWAP5 PUSH2 0x975 JUMPI JUMPDEST POP POP SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP6 DUP4 MSTORE CALLER DUP8 DUP5 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST ADD MLOAD SWAP3 POP DUP11 DUP1 PUSH2 0x939 JUMP JUMPDEST SWAP1 PUSH1 0x1F SWAP4 SWAP3 SWAP4 NOT DUP4 AND SWAP2 DUP6 PUSH1 0x0 MSTORE DUP9 PUSH1 0x0 KECCAK256 SWAP3 PUSH1 0x0 JUMPDEST DUP11 DUP3 DUP3 LT PUSH2 0x9F9 JUMPI POP POP SWAP2 PUSH32 0x7585F467599D0F008985F231AF99293BE388626AC16CA59505C2F8F88969CD63 SWAP8 SWAP6 SWAP4 SWAP2 DUP6 PUSH2 0x96A SWAP9 SWAP7 SWAP5 LT PUSH2 0x9E0 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x94B JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE DUP9 DUP1 DUP1 PUSH2 0x9D3 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE SWAP5 DUP8 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH2 0x996 JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST SWAP1 POP DUP13 ADD MLOAD DUP16 PUSH2 0x88A JUMP JUMPDEST DUP9 SWAP3 SWAP2 DUP13 PUSH1 0x1F NOT DUP5 AND DUP7 PUSH1 0x0 MSTORE DUP4 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xA85 JUMPI POP POP SWAP2 PUSH1 0x7 SWAP9 SWAP8 SWAP6 SWAP4 SWAP2 DUP6 PUSH2 0x8BC SWAP9 SWAP7 SWAP5 LT PUSH2 0xA6C JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x89D JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE DUP16 DUP1 DUP15 PUSH2 0xA5F JUMP JUMPDEST SWAP3 DUP5 ADD MLOAD DUP6 SSTORE DUP13 SWAP7 SWAP1 SWAP5 ADD SWAP4 SWAP3 DUP3 ADD SWAP3 DUP16 SWAP3 SWAP1 DUP2 ADD SWAP1 PUSH2 0xA41 JUMP JUMPDEST DUP5 PUSH1 0x41 DUP11 PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE DUP1 DUP6 ADD DUP9 SWAP1 MSTORE PUSH1 0x13 DUP2 DUP9 ADD MSTORE PUSH19 0x436861696E206E6F7420617661696C61626C65 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE DUP1 DUP7 ADD DUP10 SWAP1 MSTORE PUSH1 0x23 DUP2 DUP10 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F206372656174652070726F706F PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD85B PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x14 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD CALLER PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0xC42 JUMPI PUSH1 0x60 PUSH1 0x20 SWAP4 PUSH1 0x5 DUP4 PUSH2 0xBCD PUSH32 0x8D5C76B09B9C1F4D0453D21436DCB0B568A50E9C0AE059E4D0AE8C95C71D07F0 SWAP6 ISZERO ISZERO PUSH2 0x246C JUMP JUMPDEST PUSH1 0x12 SLOAD SWAP6 PUSH2 0xBDA DUP8 PUSH2 0x24FA JUMP JUMPDEST PUSH1 0x12 SSTORE DUP7 PUSH1 0x0 MSTORE PUSH1 0x17 DUP9 MSTORE PUSH2 0xC11 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP3 DUP6 DUP5 SSTORE PUSH1 0x0 PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x0 PUSH1 0x2 DUP6 ADD SSTORE PUSH1 0x3 DUP5 ADD PUSH1 0xFF NOT DUP2 SLOAD AND SWAP1 SSTORE TIMESTAMP PUSH2 0x2449 JUMP JUMPDEST SWAP1 DUP3 ADD SSTORE ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH1 0xA0 SHL DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP5 DUP3 MSTORE CALLER DUP7 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE LOG1 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 DUP2 DUP5 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F20637265617465206F70657261 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x3A34B7B7 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xCE7 PUSH2 0xCDD PUSH2 0x22B8 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER PUSH2 0x236B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xD0F PUSH1 0x20 SWAP2 CALLDATALOAD PUSH2 0x27ED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x0 SWAP1 DUP1 SLOAD PUSH2 0xD3A DUP2 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0xDD8 JUMPI POP PUSH1 0x1 EQ PUSH2 0xD7C JUMPI JUMPDEST PUSH2 0xD78 DUP6 PUSH2 0xD64 DUP2 DUP8 SUB DUP3 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE SWAP3 POP PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B JUMPDEST DUP3 DUP5 LT PUSH2 0xDC0 JUMPI POP POP POP DUP2 ADD PUSH1 0x20 ADD PUSH2 0xD64 DUP3 PUSH2 0xD78 PUSH2 0xD54 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0xDA5 JUMP JUMPDEST DUP7 SWAP6 POP PUSH2 0xD78 SWAP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0xD64 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 SWAP4 PUSH2 0xD54 JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x12 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 DUP2 PUSH1 0x0 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD SWAP2 PUSH2 0xE51 DUP4 ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST PUSH1 0x3 DUP2 ADD SWAP2 DUP1 DUP4 SLOAD SWAP3 PUSH2 0xE67 PUSH1 0xFF DUP6 AND ISZERO PUSH2 0x2711 JUMP JUMPDEST ADD SLOAD TIMESTAMP LT PUSH2 0xF04 JUMPI PUSH2 0xE78 DUP6 PUSH2 0x275D JUMP JUMPDEST DUP2 PUSH2 0xEFC JUMPI JUMPDEST POP ISZERO PUSH2 0xEC1 JUMPI PUSH32 0x64CEE5A70D662A7EEF5B2A171DAA51DC624F3D64A35D0855B385262B893DC5A5 PUSH1 0x40 DUP7 DUP7 DUP7 PUSH1 0x1 DUP8 PUSH1 0xFF NOT AND OR SWAP1 SSTORE DUP3 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE LOG1 STOP JUMPDEST PUSH1 0x64 SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x13DC195C985D1A5BDB881B9BDD081C185CDCD959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 POP DUP7 PUSH2 0xE7E JUMP JUMPDEST PUSH1 0x64 SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x14DA59DB9A5B99C81B9BDD08195B991959 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xF57 SWAP1 CALLDATALOAD PUSH2 0x2668 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 ISZERO ISZERO DUP4 MSTORE SWAP1 ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 PUSH2 0xF88 DUP3 PUSH2 0x278C JUMP JUMPDEST ISZERO PUSH2 0x1024 JUMPI PUSH1 0x13 SLOAD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0xFC7 JUMPI PUSH32 0x57DF5A6A467271F04B10F7FE9E66D21DCD8AE7EAF079099D48959F24A53B6910 PUSH1 0x20 DUP6 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG1 STOP JUMPDEST DUP1 PUSH32 0x42E60114B8BC5803B43A4BCD35572ECE9A5E2CABB79A838A02D56A4C53E83313 PUSH2 0x1017 PUSH2 0xFF8 PUSH2 0x101F SWAP5 PUSH2 0x27ED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP8 DUP11 DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 PUSH1 0x60 DUP3 ADD SWAP6 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG1 PUSH2 0x24FA JUMP JUMPDEST PUSH2 0xF93 JUMP JUMPDEST PUSH1 0x64 SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x4E6F7420616C6C20636861696E73207265616479 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1080 PUSH2 0x22B8 JUMP JUMPDEST AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH2 0x231F JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x10 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH32 0xCA1838D50CA3156F1ACE7CDE39A081CC9C9A333AF6FCA55DB71817F8717E1DCB PUSH2 0x1138 CALLDATASIZE PUSH2 0x22E4 JUMP JUMPDEST POP DUP4 PUSH1 0x0 SWAP5 SWAP4 SWAP5 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH2 0x11AE PUSH1 0x3 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x115B DUP7 DUP3 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST DUP7 PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH2 0x1175 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST PUSH1 0x9 DUP2 ADD SWAP5 DUP8 PUSH1 0x0 MSTORE DUP6 PUSH1 0x20 MSTORE PUSH2 0x1194 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0x2618 JUMP JUMPDEST PUSH2 0x11A3 PUSH1 0x2 DUP4 ADD SWAP2 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE ADD SWAP2 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE PUSH2 0x11EA PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 PUSH1 0x60 DUP3 ADD SWAP6 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG1 STOP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x2EF JUMPI DUP2 CALLDATALOAD SWAP2 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x12BD JUMPI DUP3 PUSH1 0x0 MSTORE PUSH1 0x15 DUP3 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0x1283 JUMPI POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x14 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x15 DUP4 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD SWAP2 DUP3 MSTORE PUSH32 0x4C7C76ABE482A2C36EA52F1B999474C69F8B4AFEEAC5635F8AEA2526864BA853 SWAP2 LOG1 STOP JUMPDEST PUSH1 0x64 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x135BD91D5B1948191BD95CC81B9BDD08195E1A5CDD PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x84 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F2072656D6F7665206D6F64756C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x65 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 PUSH2 0x1354 PUSH2 0x22CE JUMP JUMPDEST CALLER PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x145C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 DUP3 ISZERO PUSH2 0x142B JUMPI DUP4 PUSH1 0x0 MSTORE PUSH1 0x15 DUP3 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x13F1 JUMPI PUSH32 0xF14475B19484BF096265507CC0C41CD3BF1994992088806830686E2D72722719 PUSH1 0x40 DUP6 DUP6 DUP6 DUP3 PUSH1 0x0 MSTORE PUSH1 0x14 DUP2 MSTORE DUP4 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH1 0xA0 SHL DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x15 DUP2 MSTORE DUP4 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP4 MLOAD SWAP3 DUP4 MSTORE DUP3 ADD MSTORE LOG1 STOP JUMPDEST PUSH1 0x64 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4D6F64756C6520616C726561647920657869737473 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x64 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x5A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE DUP1 DUP5 ADD DUP4 SWAP1 MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F20616464206D6F64756C650000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH32 0xE379B3DEB66DDFA7962A2BDF35E9A08B5BED672C9DA3ECF7CC6174D253C6DFE5 PUSH2 0x14EB CALLDATASIZE PUSH2 0x22E4 JUMP JUMPDEST POP DUP4 PUSH1 0x0 SWAP5 SWAP4 SWAP5 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH2 0x11AE PUSH1 0x2 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x150E DUP2 SLOAD ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST DUP7 PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH2 0x1528 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP5 DUP8 PUSH1 0x0 MSTORE DUP6 PUSH1 0x20 MSTORE PUSH2 0x1547 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0x2618 JUMP JUMPDEST PUSH2 0x11A3 PUSH1 0x1 DUP4 ADD SWAP2 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x156F PUSH2 0x22B8 JUMP JUMPDEST PUSH2 0x1577 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 CALLER PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP5 PUSH1 0x0 NOT DUP7 LT PUSH2 0x15B6 JUMPI JUMPDEST POP POP PUSH2 0xCE7 SWAP4 POP PUSH2 0x236B JUMP JUMPDEST DUP5 DUP7 LT PUSH2 0x1622 JUMPI DUP2 ISZERO PUSH2 0x160A JUMPI CALLER ISZERO PUSH2 0x15F2 JUMPI POP PUSH2 0xCE7 SWAP5 DUP5 SWAP2 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 CALLER PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE SUB PUSH1 0x40 PUSH1 0x0 KECCAK256 SSTORE DUP5 DUP1 PUSH2 0x15AA JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x0 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x4A1406B1 PUSH1 0xE1 SHL DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x0 PUSH1 0x40 MLOAD SWAP2 PUSH4 0xE602DF05 PUSH1 0xE0 SHL DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0x7DC7A0D9 PUSH1 0xE1 SHL DUP2 MSTORE CALLER SWAP3 DUP2 ADD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD DUP9 SWAP1 MSTORE SWAP1 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x60 ADD SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x0 PUSH2 0x120 PUSH1 0x40 MLOAD PUSH2 0x1670 DUP2 PUSH2 0x21AA JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP1 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE DUP3 PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0xC0 DUP3 ADD MSTORE DUP3 PUSH1 0xE0 DUP3 ADD MSTORE DUP3 PUSH2 0x100 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH2 0x16B7 DUP3 PUSH2 0x21AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16C7 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1EDB JUMP JUMPDEST DUP3 MSTORE PUSH1 0x40 MLOAD PUSH2 0x16D9 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1F7F JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 MLOAD PUSH2 0x16EE DUP2 PUSH2 0x229 DUP2 PUSH2 0x2006 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 MLOAD PUSH2 0x1703 DUP2 PUSH2 0x229 DUP2 PUSH2 0x208D JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0xA SLOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xB SLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x18CC JUMPI POP PUSH1 0x40 MLOAD SWAP1 PUSH2 0x1740 PUSH1 0x20 DUP3 PUSH1 0x5 SHL ADD DUP4 PUSH2 0x21DD JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD PUSH1 0xC PUSH1 0x0 MSTORE PUSH32 0xDF6966C971051C3D54EC59162606531493A51404A002842F56009D7E5CF4A8C7 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x18A7 JUMPI DUP6 DUP6 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH1 0xE SLOAD PUSH2 0x100 DUP3 ADD MSTORE PUSH1 0xFF PUSH1 0xF SLOAD AND ISZERO ISZERO PUSH2 0x120 DUP3 ADD MSTORE PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH2 0x1808 PUSH2 0x17F2 PUSH2 0x17DC PUSH2 0x17C6 DUP6 MLOAD PUSH2 0x140 PUSH1 0x20 DUP8 ADD MSTORE PUSH2 0x160 DUP7 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0x40 DUP8 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MLOAD DUP4 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD SWAP1 PUSH1 0x1F NOT DUP4 DUP3 SUB ADD PUSH1 0xE0 DUP5 ADD MSTORE DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 PUSH1 0x20 DUP1 DUP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x187A JUMPI DUP7 DUP1 DUP8 PUSH2 0x120 DUP12 PUSH1 0xE0 DUP2 ADD MLOAD PUSH2 0x100 DUP6 ADD MSTORE PUSH2 0x100 DUP2 ADD MLOAD DUP3 DUP6 ADD MSTORE ADD MLOAD ISZERO ISZERO PUSH2 0x140 DUP4 ADD MSTORE SUB SWAP1 RETURN JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 PUSH1 0x20 DUP1 PUSH2 0x1898 PUSH1 0x1 SWAP4 PUSH1 0x1F NOT DUP7 DUP3 SUB ADD DUP8 MSTORE DUP10 MLOAD PUSH2 0x2222 JUMP JUMPDEST SWAP8 ADD SWAP4 ADD SWAP4 ADD SWAP2 SWAP4 SWAP3 SWAP1 PUSH2 0x1849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP3 PUSH1 0x40 MLOAD PUSH2 0x18BE DUP2 PUSH2 0x229 DUP2 DUP10 PUSH2 0x2114 JUMP JUMPDEST DUP2 MSTORE ADD SWAP3 ADD SWAP3 ADD SWAP2 SWAP1 PUSH2 0x1771 JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x2EF JUMPI DUP2 CALLDATALOAD SWAP2 DUP3 PUSH1 0x0 MSTORE PUSH1 0x16 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 PUSH2 0x192E DUP5 DUP5 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST DUP2 DUP4 ADD SWAP3 DUP4 SLOAD SWAP3 PUSH2 0x1942 PUSH1 0xFF DUP6 AND ISZERO PUSH2 0x25A9 JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SLOAD TIMESTAMP LT PUSH2 0x1ACE JUMPI PUSH2 0x1956 DUP7 PUSH2 0x2668 JUMP JUMPDEST DUP2 PUSH2 0x1AC6 JUMPI JUMPDEST POP ISZERO PUSH2 0x1A8C JUMPI POP PUSH1 0x7 SWAP1 PUSH1 0x1 SWAP5 DUP6 PUSH1 0xFF NOT DUP1 SWAP7 AND OR SWAP1 SSTORE ADD SWAP3 PUSH2 0x198E PUSH1 0x40 MLOAD PUSH2 0x1989 DUP2 PUSH2 0x229 DUP2 DUP10 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0x2884 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP3 DUP7 ADD MSTORE PUSH1 0x0 SWAP4 DUP1 SLOAD PUSH2 0x19A8 DUP2 PUSH2 0x1EA1 JUMP JUMPDEST SWAP5 DUP6 PUSH1 0x40 DUP10 ADD MSTORE DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x1A46 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x19ED JUMPI JUMPDEST PUSH32 0xBADBD87941BB6424ED4AA4719BF01A3319B64480E49F89018C718603239553D2 DUP7 DUP7 SUB DUP8 LOG1 STOP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE DUP3 DUP2 KECCAK256 SWAP1 SWAP5 POP JUMPDEST DUP4 DUP6 LT PUSH2 0x1A32 JUMPI POP POP POP POP DUP2 ADD PUSH1 0x60 ADD DUP2 PUSH32 0xBADBD87941BB6424ED4AA4719BF01A3319B64480E49F89018C718603239553D2 DUP5 DUP1 PUSH2 0x19C5 JUMP JUMPDEST DUP1 SLOAD DUP7 DUP7 ADD PUSH1 0x60 ADD MSTORE SWAP4 DUP3 ADD SWAP4 DUP2 ADD PUSH2 0x19F9 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP7 SWAP6 POP PUSH1 0x60 SWAP4 POP PUSH32 0xBADBD87941BB6424ED4AA4719BF01A3319B64480E49F89018C718603239553D2 SWAP7 SWAP5 SWAP3 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP2 SWAP3 DUP5 DUP1 PUSH2 0x19C5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x141C9BDC1BDCD85B081B9BDD081C185CDCD959 PUSH1 0x6A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST SWAP1 POP DUP8 PUSH2 0x195C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x159BDD1A5B99C81B9BDD08195B991959 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x11 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x1B3C PUSH2 0x22B8 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER ISZERO PUSH2 0x1BAA JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 DUP3 ISZERO PUSH2 0x15F2 JUMPI POP CALLER PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP1 PUSH1 0x40 PUSH1 0x0 KECCAK256 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x20 CALLER SWAP3 LOG3 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE602DF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 DUP2 DUP6 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH2 0x1BE4 DUP2 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP1 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1C69 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1C0E JUMPI JUMPDEST PUSH2 0xD78 DUP5 PUSH2 0xD64 DUP2 DUP7 SUB DUP3 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 DUP2 MSTORE SWAP3 POP PUSH32 0xC2575A0E9E593C00F959F8C92F12DB2869C3395A3B0502D05E2516446F71F85B JUMPDEST DUP3 DUP5 LT PUSH2 0x1C51 JUMPI POP POP POP DUP2 ADD PUSH1 0x20 ADD PUSH2 0xD64 DUP3 PUSH2 0x1BFE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0xFF NOT AND PUSH1 0x20 DUP1 DUP8 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP3 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD SWAP1 SWAP3 ADD SWAP3 POP PUSH2 0xD64 SWAP2 POP DUP4 SWAP1 POP PUSH2 0x1BFE JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xF57 SWAP1 CALLDATALOAD PUSH2 0x275D JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x24 CALLDATALOAD DUP2 CALLDATALOAD PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x2EF JUMPI PUSH2 0x1CE0 SWAP1 CALLDATASIZE SWAP1 DUP6 ADD PUSH2 0x229A JUMP JUMPDEST POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH2 0x1CFB PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x1DA3 JUMPI PUSH32 0x42E60114B8BC5803B43A4BCD35572ECE9A5E2CABB79A838A02D56A4C53E83313 SWAP3 POP DUP1 PUSH1 0x0 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD EQ PUSH2 0x1D84 JUMPI JUMPDEST POP PUSH2 0x11EA PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 PUSH1 0x60 DUP3 ADD SWAP6 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x7 PUSH2 0x1989 PUSH2 0x1D9D SWAP3 PUSH2 0x229 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 ADD PUSH2 0x2114 JUMP JUMPDEST DUP4 PUSH2 0x1D60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 DUP2 DUP6 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x105B1C9958591E48195E1958DD5D1959 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST SWAP1 CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH2 0xD78 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x7 DUP4 SLOAD SWAP4 PUSH2 0x1E1C DUP7 PUSH2 0x1E15 DUP2 PUSH1 0x1 DUP6 ADD PUSH2 0x2114 JUMP JUMPDEST SUB DUP8 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP3 PUSH1 0xFF PUSH1 0x3 DUP4 ADD SLOAD SWAP2 DUP4 ADD SLOAD AND PUSH1 0x5 DUP4 ADD SLOAD SWAP2 PUSH2 0x1E5C PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x6 DUP7 ADD SLOAD AND SWAP5 PUSH2 0x1E55 PUSH1 0x40 MLOAD DUP1 SWAP9 DUP2 SWAP4 ADD PUSH2 0x2114 JUMP JUMPDEST SUB DUP7 PUSH2 0x21DD JUMP JUMPDEST PUSH2 0x1E78 PUSH1 0x40 MLOAD SWAP10 DUP11 SWAP10 DUP11 MSTORE PUSH2 0x100 DUP1 PUSH1 0x20 DUP13 ADD MSTORE DUP11 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST SWAP6 PUSH1 0x40 DUP10 ADD MSTORE PUSH1 0x60 DUP9 ADD MSTORE ISZERO ISZERO PUSH1 0x80 DUP8 ADD MSTORE PUSH1 0xA0 DUP7 ADD MSTORE PUSH1 0xC0 DUP6 ADD MSTORE DUP4 DUP3 SUB PUSH1 0xE0 DUP6 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1ED1 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1EBB JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1EB0 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x1EEB DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1F09 JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x6 PUSH1 0x0 MSTORE PUSH32 0xF652222313E28459528D920B65115C16C04F3EFC82AAEDC97BE59F3F377C0D3F SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1F4A JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x1F38 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 SWAP4 SWAP5 POP PUSH1 0xFF SWAP3 SWAP2 SWAP3 NOT AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x1F8F DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1FAD JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x7 PUSH1 0x0 MSTORE PUSH32 0xA66CC928B5EDB82AF9BD49922954155AB7B0942694BEA4CE44661D9A8736C688 SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1FEE JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x1FDC JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x2016 DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x2034 JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x8 PUSH1 0x0 MSTORE PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x2075 JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x2063 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x209D DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x20BB JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x9 PUSH1 0x0 MSTORE PUSH32 0x6E1540171B6C0C960B71A7020D9F60077F6AF931A8BBF590DA0223DACF75C7AF SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x20FC JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x20EA JUMP JUMPDEST SWAP1 PUSH1 0x0 SWAP3 SWAP2 DUP1 SLOAD SWAP2 PUSH2 0x2125 DUP4 PUSH2 0x1EA1 JUMP JUMPDEST SWAP2 DUP3 DUP3 MSTORE PUSH1 0x1 SWAP4 DUP5 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x2187 JUMPI POP PUSH1 0x1 EQ PUSH2 0x2147 JUMPI JUMPDEST POP POP POP POP JUMP JUMPDEST SWAP1 SWAP2 SWAP4 SWAP5 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 DUP4 PUSH1 0x0 KECCAK256 SWAP3 DUP5 PUSH1 0x0 SWAP5 JUMPDEST DUP4 DUP7 LT PUSH2 0x2173 JUMPI POP POP POP POP ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x2141 JUMP JUMPDEST DUP1 SLOAD DUP6 DUP8 ADD DUP4 ADD MSTORE SWAP5 ADD SWAP4 DUP6 SWAP1 DUP3 ADD PUSH2 0x215C JUMP JUMPDEST SWAP3 SWAP5 POP POP POP PUSH1 0x20 SWAP4 SWAP5 POP PUSH1 0xFF NOT AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x2141 JUMP JUMPDEST PUSH2 0x140 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x21C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x21C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x2212 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2202 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x223B DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x21FF JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x21C7 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x226F DUP3 PUSH2 0x2247 JUMP JUMPDEST SWAP2 PUSH2 0x227D PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x21DD JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x2EF JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x2EF JUMPI DUP2 PUSH1 0x20 PUSH2 0x22B5 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x2263 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0x2EF JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0x2EF JUMPI JUMP JUMPDEST PUSH1 0xA0 PUSH1 0x3 NOT DUP3 ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x44 CALLDATALOAD SWAP2 PUSH1 0x64 CALLDATALOAD SWAP2 PUSH1 0x84 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x2EF JUMPI PUSH2 0x22B5 SWAP2 PUSH1 0x4 ADD PUSH2 0x229A JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH2 0x32D PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH2 0x2EF JUMPI SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 DUP4 ISZERO PUSH2 0x2430 JUMPI AND SWAP3 DUP4 ISZERO PUSH2 0x2417 JUMPI PUSH1 0x0 SWAP1 DUP4 DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD SWAP1 DUP4 DUP3 LT PUSH2 0x23E5 JUMPI POP SWAP2 PUSH1 0x40 DUP3 DUP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP6 DUP8 PUSH1 0x20 SWAP7 MSTORE DUP3 DUP7 MSTORE SUB DUP3 DUP3 KECCAK256 SSTORE DUP7 DUP2 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x2456 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ISZERO PUSH2 0x2473 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4475726174696F6E206D75737420626520706F73697469766500000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x24BF JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x10DA185A5B881B9BDD081CDD5C1C1BDC9D1959 PUSH1 0x6A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2456 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x2517 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x2553 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x2548 JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x253C JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x2533 JUMP JUMPDEST ISZERO PUSH2 0x2564 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x50726F706F73616C20646F6573206E6F74206578697374000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x25B0 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x50726F706F73616C20616C726561647920657865637574656400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x5 SLOAD EQ PUSH2 0x2606 JUMPI PUSH1 0x2 PUSH1 0x5 SSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x261F JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x105B1C9958591E481CDE5B98D959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP2 DUP2 MUL SWAP3 SWAP2 DUP2 ISZERO SWAP2 DUP5 DIV EQ OR ISZERO PUSH2 0x2456 JUMPI JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x0 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH2 0x2683 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP3 DUP4 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST PUSH1 0x3 PUSH1 0x2 DUP4 ADD SLOAD SWAP3 ADD SLOAD SWAP2 PUSH2 0x2698 DUP4 DUP3 PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x64 PUSH2 0x26A9 PUSH1 0x2 SLOAD PUSH1 0x10 SLOAD SWAP1 PUSH2 0x2655 JUMP JUMPDEST DIV GT ISZERO SWAP3 DUP4 SWAP2 DUP3 PUSH2 0x26BB JUMPI JUMPDEST POP POP SWAP2 SWAP1 JUMP JUMPDEST GT SWAP1 POP CODESIZE DUP1 PUSH2 0x26B5 JUMP JUMPDEST ISZERO PUSH2 0x26CC JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F7065726174696F6E20646F6573206E6F742065786973740000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x2718 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F7065726174696F6E20616C7265616479206578656375746564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH2 0x2777 DUP3 SLOAD ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x1 DUP4 ADD SLOAD SWAP3 ADD SLOAD SWAP2 PUSH2 0x2698 DUP4 DUP3 PUSH2 0x2449 JUMP JUMPDEST PUSH2 0x27A5 PUSH1 0x0 SWAP2 DUP1 DUP4 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST DUP1 JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x27B6 JUMPI POP POP PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x27D6 PUSH2 0x27C2 DUP3 PUSH2 0x27ED JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST ISZERO PUSH2 0x27E9 JUMPI PUSH2 0x27E4 SWAP1 PUSH2 0x24FA JUMP JUMPDEST PUSH2 0x27A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2857 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2851 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x284B JUMPI PUSH1 0x3 EQ PUSH2 0x2845 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x92DCECC2D8D2C840C6D0C2D2DC40D2DCC8CAF PUSH1 0x6B SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH2 0xA4B1 SWAP1 JUMP JUMPDEST POP PUSH1 0x38 SWAP1 JUMP JUMPDEST POP PUSH1 0x89 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x2EF JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x2EF JUMPI PUSH1 0x20 SWAP1 SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP2 ADD SWAP1 PUSH1 0x20 SWAP1 DUP1 DUP3 DUP5 ADD SWAP4 PUSH1 0x40 SWAP2 DUP3 SWAP2 SUB SLT PUSH2 0x2EF JUMPI DUP2 DUP4 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP1 DUP4 SWAP1 SUB PUSH2 0x2EF JUMPI DUP2 DUP2 ADD MLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x2EF JUMPI ADD SWAP2 DUP5 PUSH1 0x3F DUP5 ADD SLT ISZERO PUSH2 0x2EF JUMPI DUP4 DUP4 ADD MLOAD SWAP3 PUSH2 0x28E3 DUP5 PUSH2 0x2247 JUMP JUMPDEST SWAP4 PUSH2 0x28F0 DUP5 MLOAD SWAP6 DUP7 PUSH2 0x21DD JUMP JUMPDEST DUP1 DUP6 MSTORE DUP6 DUP6 ADD SWAP7 DUP5 DUP3 DUP5 ADD ADD GT PUSH2 0x2EF JUMPI DUP7 DUP5 PUSH2 0x290D SWAP4 ADD PUSH2 0x21FF JUMP JUMPDEST PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 SUB PUSH2 0x2942 JUMPI POP POP SWAP2 PUSH2 0x2930 SWAP2 DUP4 PUSH2 0x2940 SWAP5 MLOAD ADD ADD SWAP1 PUSH2 0x285D JUMP JUMPDEST SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH2 0x236B JUMP JUMPDEST JUMP JUMPDEST SWAP1 SWAP4 SWAP2 SWAP1 PUSH4 0x40C10F19 PUSH1 0xE0 SHL DUP2 SUB PUSH2 0x29D9 JUMPI POP SWAP1 DUP3 DUP3 PUSH2 0x2965 SWAP4 MLOAD ADD ADD SWAP1 PUSH2 0x285D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 DUP4 ISZERO PUSH2 0x29C2 JUMPI SWAP2 DUP2 PUSH1 0x0 SWAP4 PUSH2 0x29A9 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP5 PUSH1 0x2 SLOAD PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x2 SSTORE DUP6 DUP6 MSTORE DUP5 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST SWAP4 SWAP5 SWAP4 PUSH4 0x2770A7EB PUSH1 0xE2 SHL SUB PUSH2 0x2AA7 JUMPI SWAP1 DUP3 DUP3 PUSH2 0x29F9 SWAP4 MLOAD ADD ADD SWAP1 PUSH2 0x285D JUMP JUMPDEST SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP2 ISZERO PUSH2 0x2A8F JUMPI PUSH1 0x0 SWAP3 DUP3 DUP5 MSTORE DUP4 DUP3 MSTORE DUP6 DUP5 KECCAK256 SLOAD SWAP6 DUP2 DUP8 LT PUSH2 0x2A61 JUMPI DUP2 DUP6 SWAP7 SWAP8 DUP6 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP7 SWAP8 MSTORE DUP8 DUP6 MSTORE SUB DUP2 DUP8 KECCAK256 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP5 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP5 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x2AB735B737BBB71037B832B930BA34B7B7 PUSH1 0x79 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 0x4A SELFDESTRUCT MOD 0xE4 PUSH22 0xB418E3CB3E3892104B639F9A88CB834DEC83D25EC4B5 0x5D CALLVALUE CREATE 0xBD PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"750:24192:6:-:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;4589:11;;750:24192;;;4602:13;750:24192;;4589:11;;4602:13;;750:24192;-1:-1:-1;;;;;750:24192:6;;;;;1648:13:1;750:24192:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;1648:13:1;750:24192:6;;;;-1:-1:-1;;;;;750:24192:6;;;;;1671:17:1;750:24192:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;1671:17:1;750:24192:6;;;;;4665:11;;750:24192;;;;4698:13;750:24192;;;4735:15;750:24192;;;4777:18;750:24192;;;;;;;;;;;;4901:17;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4637:397;;750:24192;;4637:397;;750:24192;;4637:397;;750:24192;;4637:397;;750:24192;;4637:397;;750:24192;;4637:397;;750:24192;;4637:397;;750:24192;4980:15;750:24192;4637:397;;750:24192;;;4637:397;;750:24192;;;;;;;;;;;;;4627:407;750:24192;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;4627:407;750:24192;;;4637:397;;750:24192;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;4637:397;;750:24192;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;4637:397;;750:24192;;;;;4637:397;-1:-1:-1;;;;;750:24192:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;4637:397;;750:24192;;;;4637:397;;750:24192;;;;4637:397;;750:24192;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;4637:397;;750:24192;4637:397;750:24192;4637:397;;750:24192;;;;4637:397;;750:24192;;;4637:397;750:24192;;;;;;;;;;;;;;;;;;5053:42;750:24192;5105:32;750:24192;-1:-1:-1;5283:3:6;750:24192;;;5250:24;750:24192;;;5246:35;;;;;5318:27;;5283:3;5318:27;;:::i;:::-;750:24192;-1:-1:-1;750:24192:6;5302:15;750:24192;;;-1:-1:-1;750:24192:6;;;;;;;;;;5283:3;:::i;:::-;5231:13;;5246:35;;750:24192;;;5469:22;750:24192;;;;5502:21;750:24192;5469:61;750:24192;;;;;5575:22;750:24192;5575:33;750:24192;;-1:-1:-1;5706:3:6;750:24192;;;5675:22;750:24192;;5671:33;;;;;-1:-1:-1;;;;;750:24192:6;;;5733:25;;750:24192;;5733:25;:::i;:::-;750:24192;;5733:39;750:24192;;5811:24;750:24192;;;;5811:21;:24;:::i;:::-;750:24192;5811:28;750:24192;;5875:25;750:24192;;;;5875:22;:25;:::i;:::-;750:24192;;;5902:24;750:24192;;;;5902:21;:24;:::i;:::-;750:24192;7432:21:1;;;7428:91;;750:24192:6;;;;;;;;;6987:25:1;750:24192:6;;5706:3;750:24192;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;6987:25:1;5706:3:6;:::i;:::-;5656:13;;750:24192;;;;-1:-1:-1;750:24192:6;;1671:17:1;750:24192:6;;-1:-1:-1;750:24192:6;7428:91:1;750:24192:6;;-1:-1:-1;;;7476:32:1;;-1:-1:-1;1671:17:1;7476:32;;750:24192:6;;;7476:32:1;750:24192:6;;;-1:-1:-1;;;750:24192:6;;;1671:17:1;750:24192:6;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;1671:17:1;750:24192:6;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;5671:33;;750:24192;;;5986:22;750:24192;;;6010:21;750:24192;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;5961:71;750:24192;;;;;;;;;;;;;:::i;:::-;5961:71;;;6075:11;;750:24192;;;6100:13;750:24192;;;6127:15;750:24192;;;;6156:18;750:24192;;;;;;;;;;;;;;;6247:17;750:24192;;;;;;;;;6329:24;750:24192;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;6047:316;750:24192;;;;;;;;;;6310:4;750:24192;;;;;;;;;;;;:::i;:::-;6047:316;;;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;1671:17:1;750:24192:6;;;5105:32;750:24192;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;1671:17:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;-1:-1:-1;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;-1:-1:-1;750:24192:6;;1671:17:1;750:24192:6;;-1:-1:-1;750:24192:6;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;750:24192:6;;;;;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;750:24192:6;;;;;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;750:24192:6;;;;;4627:407;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;4627:407;750:24192;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4627:407;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;750:24192:6;;;;;1671:17:1;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:1;750:24192:6;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:1;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;750:24192:6;;;;;1648:13:1;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;1648:13:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:1;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;750:24192:6;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;750:24192:6;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;-1:-1:-1;;750:24192:6;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;-1:-1:-1;;;;;750:24192:6;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;750:24192:6;;;;:::o"},"deployedBytecode":{"functionDebugData":{"abi_decode_address":{"entryPoint":8910,"id":null,"parameterSlots":0,"returnSlots":1},"abi_decode_address_28165":{"entryPoint":8888,"id":null,"parameterSlots":0,"returnSlots":1},"abi_decode_address_payablet_uint256_fromMemory":{"entryPoint":10333,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_available_length_bytes":{"entryPoint":8803,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_bytes":{"entryPoint":8858,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint256t_bool":{"entryPoint":9036,"id":null,"parameterSlots":1,"returnSlots":2},"abi_decode_uint256t_uint256t_uint256t_uint256t_bytes":{"entryPoint":8932,"id":null,"parameterSlots":1,"returnSlots":5},"abi_encode_address_uint256_uint256":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_bool_bool":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_string":{"entryPoint":8738,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string_storage":{"entryPoint":8468,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string_storage_28169":{"entryPoint":7899,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string_storage_28170":{"entryPoint":8063,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string_storage_28171":{"entryPoint":8198,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string_storage_28172":{"entryPoint":8333,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_uint256_address_bool_uint256":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_uint256_uint256_uint256":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"array_allocation_size_bytes":{"entryPoint":8775,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_uint256":{"entryPoint":9289,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_uint256":{"entryPoint":9813,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":9481,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":8703,"id":null,"parameterSlots":3,"returnSlots":0},"external_fun_checkChainConnection":{"entryPoint":8991,"id":null,"parameterSlots":0,"returnSlots":0},"extract_byte_array_length":{"entryPoint":7841,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":8669,"id":null,"parameterSlots":2,"returnSlots":0},"finalize_allocation_28167":{"entryPoint":8618,"id":null,"parameterSlots":1,"returnSlots":0},"fun_checkChainConnection":{"entryPoint":null,"id":2186,"parameterSlots":1,"returnSlots":1},"fun_checkMultiSigResult":{"entryPoint":10077,"id":2049,"parameterSlots":1,"returnSlots":2},"fun_checkProposalResult":{"entryPoint":9832,"id":1643,"parameterSlots":1,"returnSlots":2},"fun_checkSyncReadiness":{"entryPoint":10124,"id":2239,"parameterSlots":1,"returnSlots":1},"fun_executeOperation":{"entryPoint":10372,"id":2457,"parameterSlots":1,"returnSlots":0},"fun_getSupportedChainId":{"entryPoint":10221,"id":2342,"parameterSlots":1,"returnSlots":1},"fun_nonReentrantBefore":{"entryPoint":9717,"id":834,"parameterSlots":0,"returnSlots":0},"fun_transfer":{"entryPoint":9067,"id":381,"parameterSlots":3,"returnSlots":0},"increment_uint256":{"entryPoint":9466,"id":null,"parameterSlots":1,"returnSlots":1},"require_helper_stringliteral":{"entryPoint":9641,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_8ad9":{"entryPoint":9400,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_8e62":{"entryPoint":9565,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_a88b":{"entryPoint":9925,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_b44f":{"entryPoint":9752,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_d556":{"entryPoint":10001,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_e2db":{"entryPoint":9324,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"60808060405260048036101561001457600080fd5b60003560e01c918263013cf08b14611dda57508163044bc2bd14611cab578163057b207414611c9057816306fdde0314611bc2578163095ea7b314611b235781630c0512e914611b055781630d61b519146118ff57816318160ddd146118e1578163204c5d1f1461164e57816322dbefbb14610b3c57816323b872dd146115565781632ee09598146114bc578163313ce567146114a057816335324eee146113385781633b60288a146113095781634114509b146111ef578163456d10c1146111095781634b145793146107455781634de184f6146110e65781634fa76ec9146110eb5781635221c1f0146110e6578163548d496f146110b75781635cf0e8a4146110995781636cbadbfa1461109957816370a082311461105f5781637ce288ea14610f6b5781637e5a9b4714610f3c578163893d692a14610e205781638c7b04c914610e0257816395d89b4114610d175781639a49bdde14610cf2578163a9059cbb14610cc1578163af89d2c414610c92578163b00e073014610b6e578163b0b6cc1a14610b3c578163b359451014610774578163b3fe8bcb14610745578163c51cab3a146106d5578163c9d27afe1461054e578163ccd7a49014610388578163dd62ed3e14610337578163e49a62e914610310578163eced3dfb146102f4575063f2c26a471461020557600080fd5b346102ef5760003660031901126102ef576102a46040516102308161022981611edb565b03826121dd565b6040516102408161022981611f7f565b604051906102588261025181612006565b03836121dd565b60405191610270836102698161208d565b03846121dd565b600a5492600b546102ce600d54926102c0600e54956102b260ff600f5416986040519c8d9c8d610120908181520190612222565b8c810360208e015290612222565b908a820360408c0152612222565b9088820360608a0152612222565b94608087015260a086015260c085015260e084015215156101008301520390f35b600080fd5b346102ef5760003660031901126102ef57602090604051908152f35b346102ef5760203660031901126102ef5761032d6020913561278c565b6040519015158152f35b346102ef5760403660031901126102ef576103506122b8565b6103586122ce565b9060018060a01b038091166000526001602052604060002091166000526020526020604060002054604051908152f35b346102ef576103963661234c565b9061039f6125f5565b80600052602092601784526040600020906103bc825415156126c5565b8082015442101561051a576103d860ff60038401541615612711565b60068201903360005281865260ff604060002054166104e5573360005260008652604060002054156104ad57509361048e917f78b8e65c466df05ea5ddf0593b44648eca1f35c039f180e31257a6f1bdd005dc95336000526000835260406000205492526040600020600160ff198254161790558460001461049857600101610462828254612449565b90555b604080519384523360208501529315159383019390935260608201929092529081906080820190565b0390a16001600555005b6002016104a6828254612449565b9055610465565b60405162461bcd60e51b815290810186905260116024820152702737903a37b5b2b739903a379039b4b3b760791b6044820152606490fd5b60405162461bcd60e51b8152908101869052600e60248201526d105b1c9958591e481cda59db995960921b6044820152606490fd5b60405162461bcd60e51b8152908101859052600d60248201526c14da59db9a5b99c8195b991959609a1b6044820152606490fd5b346102ef5761055c3661234c565b906105656125f5565b80600052602092601684526040600020906105828383541461255d565b60058201544210156106a25761059e60ff8284015416156125a9565b60088201903360005281865260ff6040600020541661066e5733600052600086526040600020541561063657509361048e917f78975aaf742630489badd22949b88ac50eaaea576339ee05440b671a33bfb6a995336000526000835260406000205492526040600020600160ff198254161790558460001461062857600201610462828254612449565b6003016104a6828254612449565b60405162461bcd60e51b815290810186905260116024820152704e6f20746f6b656e7320746f20766f746560781b6044820152606490fd5b60405162461bcd60e51b8152908101869052600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b60405162461bcd60e51b8152908101859052600c60248201526b159bdd1a5b99c8195b99195960a21b6044820152606490fd5b346102ef5760203660031901126102ef578060c091356000526017602052604060002090815491600181015491600282015460ff6003840154169183015492600560018060a01b0391015416936040519586526020860152604085015215156060840152608083015260a0820152f35b346102ef5760203660031901126102ef57356000526015602052602060ff604060002054166040519015158152f35b346102ef5760803660031901126102ef57803567ffffffffffffffff918282116102ef57366023830112156102ef576107b7602492369084818501359101612263565b908235936044358181116102ef576107d2903690840161229a565b9460643595336000526020966000885260406000205415610aed576107f883151561246c565b806000526018885261081160ff604060002054166124b8565b6000526018875260ff6040600020541615610ab45760115495610833876124fa565b601155866000526016885260406000208781556001938482018851878111610aa057610869816108638454611ea1565b84612509565b8b8c601f8311600114610a2b5750918160079594926108bc94600091610a20575b50600019600383901b1c191690891b1790555b600060028401556000600384015588830160ff19815416905542612449565b600582015560068101336001600160601b0360a01b82541617905501948251948511610a0d5750506108f8836108f28654611ea1565b86612509565b8690601f841160011461098057928061096a959381937f7585f467599d0f008985f231af99293be388626ac16ca59505c2f8f88969cd639896600094610975575b50501b916000199060031b1c19161790555b6040519182918583523387840152606060408401526060830190612222565b0390a1604051908152f35b015192508a80610939565b90601f9392931983169185600052886000209260005b8a8282106109f9575050917f7585f467599d0f008985f231af99293be388626ac16ca59505c2f8f88969cd63979593918561096a989694106109e0575b505050811b01905561094b565b015160001960f88460031b161c191690558880806109d3565b838501518655948701949384019301610996565b604190634e487b7160e01b600052526000fd5b90508c01518f61088a565b8892918c601f1984168660005283600020936000905b828210610a855750509160079897959391856108bc98969410610a6c575b505050811b01905561089d565b015160001960f88460031b161c191690558f808e610a5f565b9284015185558c9690940193928201928f9290810190610a41565b8460418a634e487b7160e01b600052526000fd5b60405162461bcd60e51b815280850188905260138188015272436861696e206e6f7420617661696c61626c6560681b6044820152606490fd5b60405162461bcd60e51b81528086018990526023818901527f4d75737420686f6c6420746f6b656e7320746f206372656174652070726f706f6044820152621cd85b60ea1b6064820152608490fd5b346102ef5760203660031901126102ef57356000526014602052602060018060a01b0360406000205416604051908152f35b346102ef5760403660031901126102ef5780359060243533600052600060205260406000205415610c42576060602093600583610bcd7f8d5c76b09b9c1f4d0453d21436dcb0b568a50e9c0ae059e4d0ae8c95c71d07f095151561246c565b60125495610bda876124fa565b6012558660005260178852610c1160406000209285845560006001850155600060028501556003840160ff19815416905542612449565b9082015501336001600160601b0360a01b8254161790556040519084825233868301526040820152a1604051908152f35b60405162461bcd60e51b81526020818401526024808201527f4d75737420686f6c6420746f6b656e7320746f20637265617465206f706572616044820152633a34b7b760e11b6064820152608490fd5b346102ef5760203660031901126102ef5735600052601a602052602060ff604060002054166040519015158152f35b346102ef5760403660031901126102ef57610ce7610cdd6122b8565b602435903361236b565b602060405160018152f35b346102ef5760203660031901126102ef57610d0f602091356127ed565b604051908152f35b346102ef5760003660031901126102ef57604051906000908054610d3a81611ea1565b80855291600191808316908115610dd85750600114610d7c575b610d7885610d64818703826121dd565b604051918291602083526020830190612222565b0390f35b600090815292507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610dc0575050508101602001610d6482610d78610d54565b80546020858701810191909152909301928101610da5565b869550610d7896935060209250610d6494915060ff191682840152151560051b8201019293610d54565b346102ef5760003660031901126102ef576020601254604051908152f35b346102ef5760203660031901126102ef57803590816000526017602052604060002090815491610e518315156126c5565b600381019180835492610e6760ff851615612711565b01544210610f0457610e788561275d565b81610efc575b5015610ec1577f64cee5a70d662a7eef5b2a171daa51dc624f3d64a35d0855b385262b893dc5a5604086868660018760ff191617905582519182526020820152a1005b60649060206040519162461bcd60e51b8352820152601460248201527313dc195c985d1a5bdb881b9bdd081c185cdcd95960621b6044820152fd5b905086610e7e565b60649060206040519162461bcd60e51b8352820152601160248201527014da59db9a5b99c81b9bdd08195b991959607a1b6044820152fd5b346102ef5760203660031901126102ef57610f579035612668565b604080519215158352901515602083015290f35b346102ef5760203660031901126102ef57803590610f888261278c565b156110245760135460005b828110610fc7577f57df5a6a467271f04b10f7fe9e66d21dcd8ae7eaf079099d48959f24a53b6910602085604051908152a1005b807f42e60114b8bc5803b43a4bcd35572ece9a5e2cabb79a838a02d56a4c53e83313611017610ff861101f946127ed565b604051918291878a846040919493926060820195825260208201520152565b0390a16124fa565b610f93565b60649060206040519162461bcd60e51b835282015260146024820152734e6f7420616c6c20636861696e7320726561647960601b6044820152fd5b346102ef5760203660031901126102ef576001600160a01b036110806122b8565b1660005260006020526020604060002054604051908152f35b346102ef5760003660031901126102ef576020601354604051908152f35b346102ef5760203660031901126102ef57356000526018602052602060ff604060002054166040519015158152f35b61231f565b346102ef5760003660031901126102ef576020601054604051908152f35b346102ef577fca1838d50ca3156f1ace7cde39a081cc9c9a333af6fca55db71817f8717e1dcb611138366122e4565b508360009493945260166020526111ae6003604060002061115b8682541461255d565b86600052601860205261117560ff604060002054166124b8565b6009810194876000528560205261119460ff6040600020541615612618565b6111a360028301918254612449565b905501918254612449565b9055826000526020526040600020600160ff198254161790556111ea601354604051938493846040919493926060820195825260208201520152565b0390a1005b346102ef576020806003193601126102ef578135913360005260008252604060002054156112bd57826000526015825260ff60406000205416156112835750600082815260148252604080822080546001600160a01b03191690556015835290819020805460ff19169055519182527f4c7c76abe482a2c36ea52f1b999474c69f8b4afeeac5635f8aea2526864ba85391a1005b6064916040519162461bcd60e51b83528201526015602482015274135bd91d5b1948191bd95cc81b9bdd08195e1a5cdd605a1b6044820152fd5b6084916040519162461bcd60e51b8352820152602160248201527f4d75737420686f6c6420746f6b656e7320746f2072656d6f7665206d6f64756c6044820152606560f81b6064820152fd5b346102ef5760203660031901126102ef57356000526019602052602060ff604060002054166040519015158152f35b346102ef5760403660031901126102ef578035906113546122ce565b33600052602090600082526040600020541561145c576001600160a01b031691821561142b57836000526015825260ff604060002054166113f1577ff14475b19484bf096265507cc0c41cd3bf1994992088806830686e2d727227196040858585826000526014815283600020826001600160601b0360a01b8254161790556015815283600020600160ff198254161790558351928352820152a1005b6064916040519162461bcd60e51b835282015260156024820152744d6f64756c6520616c72656164792065786973747360581b6044820152fd5b6064916040519162461bcd60e51b8352820152600c60248201526b5a65726f206164647265737360a01b6044820152fd5b60405162461bcd60e51b8152808401839052601e60248201527f4d75737420686f6c6420746f6b656e7320746f20616464206d6f64756c6500006044820152606490fd5b346102ef5760003660031901126102ef57602060405160128152f35b346102ef577fe379b3deb66ddfa7962a2bdf35e9a08b5bed672c9da3ecf7cc6174d253c6dfe56114eb366122e4565b508360009493945260176020526111ae6002604060002061150e815415156126c5565b86600052601860205261152860ff604060002054166124b8565b6007810194876000528560205261154760ff6040600020541615612618565b6111a360018301918254612449565b346102ef5760603660031901126102ef5761156f6122b8565b6115776122ce565b6044359160018060a01b0381168060005260016020526040600020336000526020526040600020549460001986106115b6575b5050610ce7935061236b565b84861061162257811561160a5733156115f25750610ce794849160005260016020526040600020336000526020520360406000205584806115aa565b602490600060405191634a1406b160e11b8352820152fd5b60249060006040519163e602df0560e01b8352820152fd5b60408051637dc7a0d960e11b815233928101928352602083018890529082018690529081906060010390fd5b346102ef5760003660031901126102ef576000610120604051611670816121aa565b6060815260606020820152606060408201526060808201528260808201528260a0820152606060c08201528260e0820152826101008201520152604051906116b7826121aa565b6040516116c78161022981611edb565b82526040516116d98161022981611f7f565b60208301526040516116ee8161022981612006565b6040830152604051611703816102298161208d565b6060830152600a546080830152600b5460a0830152600c549067ffffffffffffffff82116118cc57506040519061174060208260051b01836121dd565b80825260208201600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c76000915b8383106118a757858560c0820152600d5460e0820152600e5461010082015260ff600f54161515610120820152604051602081526118086117f26117dc6117c685516101406020870152610160860190612222565b6020860151858203601f19016040870152612222565b6040850151848203601f19016060860152612222565b6060840151838203601f19016080850152612222565b608083015160a083015260a083015160c083015260c083015190601f198382030160e0840152815180825260208201916020808360051b8301019401926000915b83831061187a578680876101208b60e081015161010085015261010081015182850152015115156101408301520390f35b9091929394602080611898600193601f198682030187528951612222565b97019301930191939290611849565b6001602081926040516118be816102298189612114565b815201920192019190611771565b604190634e487b7160e01b6000525260246000fd5b346102ef5760003660031901126102ef576020600254604051908152f35b346102ef576020806003193601126102ef57813591826000526016825260406000209161192e8484541461255d565b8183019283549261194260ff8516156125a9565b60058201544210611ace5761195686612668565b81611ac6575b5015611a8c57506007906001948560ff19809616179055019261198e604051611989816102298189612114565b612884565b60405194855260408286015260009380546119a881611ea1565b948560408901528382169182600014611a465750506001146119ed575b7fbadbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d286860387a1005b60009081528281209094505b838510611a3257505050508101606001817fbadbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d284806119c5565b8054868601606001529382019381016119f9565b91509150869550606093507fbadbd87941bb6424ed4aa4719bf01a3319b64480e49f89018c718603239553d2969492501682840152151560051b820101919284806119c5565b60405162461bcd60e51b81529081018390526013602482015272141c9bdc1bdcd85b081b9bdd081c185cdcd959606a1b6044820152606490fd5b90508761195c565b60405162461bcd60e51b8152908101839052601060248201526f159bdd1a5b99c81b9bdd08195b99195960821b6044820152606490fd5b346102ef5760003660031901126102ef576020601154604051908152f35b346102ef5760403660031901126102ef57611b3c6122b8565b602435903315611baa576001600160a01b03169182156115f25750336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b60405163e602df0560e01b8152600081850152602490fd5b346102ef5760003660031901126102ef576040516000600354611be481611ea1565b80845290600190818116908115611c695750600114611c0e575b610d7884610d64818603826121dd565b6003600090815292507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410611c51575050508101602001610d6482611bfe565b80546020858701810191909152909301928101611c39565b60ff191660208087019190915292151560051b85019092019250610d649150839050611bfe565b346102ef5760203660031901126102ef57610f57903561275d565b346102ef5760603660031901126102ef57602435813560443567ffffffffffffffff81116102ef57611ce0903690850161229a565b50816000526018602052611cfb60ff604060002054166124b8565b80600052601960205260ff60406000205416611da3577f42e60114b8bc5803b43a4bcd35572ece9a5e2cabb79a838a02d56a4c53e8331392508060005260196020526040600020600160ff198254161790556016602052604060002081815414611d84575b506111ea601354604051938493846040919493926060820195825260208201520152565b6007611989611d9d926102296040518094819301612114565b83611d60565b60405162461bcd60e51b8152602081850152601060248201526f105b1c9958591e48195e1958dd5d195960821b6044820152606490fd5b90346102ef5760203660031901126102ef5780356000526016602052610d786040600020916007835493611e1c86611e158160018501612114565b03876121dd565b60028101549260ff60038301549183015416600583015491611e5c60018060a01b0360068601541694611e556040518098819301612114565b03866121dd565b611e78604051998a998a526101008060208c01528a0190612222565b95604089015260608801521515608087015260a086015260c085015283820360e0850152612222565b90600182811c92168015611ed1575b6020831014611ebb57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611eb0565b60065460009291611eeb82611ea1565b80825291600190818116908115611f625750600114611f0957505050565b9192935060066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f916000925b848410611f4a57505060209250010190565b80546020858501810191909152909301928101611f38565b915050602093945060ff929192191683830152151560051b010190565b60075460009291611f8f82611ea1565b80825291600190818116908115611f625750600114611fad57505050565b9192935060076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688916000925b848410611fee57505060209250010190565b80546020858501810191909152909301928101611fdc565b6008546000929161201682611ea1565b80825291600190818116908115611f62575060011461203457505050565b9192935060086000527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3916000925b84841061207557505060209250010190565b80546020858501810191909152909301928101612063565b6009546000929161209d82611ea1565b80825291600190818116908115611f6257506001146120bb57505050565b9192935060096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af916000925b8484106120fc57505060209250010190565b805460208585018101919091529093019281016120ea565b906000929180549161212583611ea1565b9182825260019384811690816000146121875750600114612147575b50505050565b90919394506000526020928360002092846000945b838610612173575050505001019038808080612141565b80548587018301529401938590820161215c565b9294505050602093945060ff191683830152151560051b01019038808080612141565b610140810190811067ffffffffffffffff8211176121c757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176121c757604052565b60005b8381106122125750506000910152565b8181015183820152602001612202565b9060209161223b815180928185528580860191016121ff565b601f01601f1916010190565b67ffffffffffffffff81116121c757601f01601f191660200190565b92919261226f82612247565b9161227d60405193846121dd565b8294818452818301116102ef578281602093846000960137010152565b9080601f830112156102ef578160206122b593359101612263565b90565b600435906001600160a01b03821682036102ef57565b602435906001600160a01b03821682036102ef57565b60a06003198201126102ef57600435916024359160443591606435916084359067ffffffffffffffff82116102ef576122b59160040161229a565b346102ef5760203660031901126102ef57602061032d600435600052601860205260ff6040600020541690565b60409060031901126102ef576004359060243580151581036102ef5790565b916001600160a01b03808416928315612430571692831561241757600090838252816020526040822054908382106123e5575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b9190820180921161245657565b634e487b7160e01b600052601160045260246000fd5b1561247357565b60405162461bcd60e51b815260206004820152601960248201527f4475726174696f6e206d75737420626520706f736974697665000000000000006044820152606490fd5b156124bf57565b60405162461bcd60e51b815260206004820152601360248201527210da185a5b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b60001981146124565760010190565b90601f811161251757505050565b600091825260208220906020601f850160051c83019410612553575b601f0160051c01915b82811061254857505050565b81815560010161253c565b9092508290612533565b1561256457565b60405162461bcd60e51b815260206004820152601760248201527f50726f706f73616c20646f6573206e6f742065786973740000000000000000006044820152606490fd5b156125b057565b60405162461bcd60e51b815260206004820152601960248201527f50726f706f73616c20616c7265616479206578656375746564000000000000006044820152606490fd5b600260055414612606576002600555565b604051633ee5aeb560e01b8152600490fd5b1561261f57565b60405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481cde5b98d95960921b6044820152606490fd5b8181029291811591840414171561245657565b9081600052601660205261268360406000209283541461255d565b60036002830154920154916126988382612449565b60646126a960025460105490612655565b041115928391826126bb575b50509190565b11905038806126b5565b156126cc57565b60405162461bcd60e51b815260206004820152601860248201527f4f7065726174696f6e20646f6573206e6f7420657869737400000000000000006044820152606490fd5b1561271857565b60405162461bcd60e51b815260206004820152601a60248201527f4f7065726174696f6e20616c72656164792065786563757465640000000000006044820152606490fd5b6000526017602052604060002090612777825415156126c5565b60026001830154920154916126988382612449565b6127a5600091808352601660205260408320541461255d565b805b600481106127b6575050600190565b6127d66127c2826127ed565b600052601860205260ff6040600020541690565b156127e9576127e4906124fa565b6127a7565b5090565b80156128575760018114612851576002811461284b576003146128455760405162461bcd60e51b8152602060048201526013602482015272092dcecc2d8d2c840c6d0c2d2dc40d2dcc8caf606b1b6044820152606490fd5b61a4b190565b50603890565b50608990565b50600190565b91908260409103126102ef5781516001600160a01b03811681036102ef5760209092015190565b80518101906020908082840193604091829103126102ef57818301516001600160e01b0319811692908390036102ef57818101519067ffffffffffffffff82116102ef57019184603f840112156102ef5783830151926128e384612247565b936128f0845195866121dd565b808552858501968482840101116102ef57868461290d93016121ff565b63a9059cbb60e01b8103612942575050916129309183612940945101019061285d565b906001600160a01b03163361236b565b565b909391906340c10f1960e01b81036129d95750908282612965935101019061285d565b6001600160a01b039091169283156129c25791816000936129a97fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94600254612449565b60025585855284835280852082815401905551908152a3565b5163ec442f0560e01b815260006004820152602490fd5b939493632770a7eb60e21b03612aa7579082826129f9935101019061285d565b916001600160a01b03909116908115612a8f576000928284528382528584205495818710612a615781859697857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9697528785520381872055816002540360025551908152a3565b5163391434e360e21b81526001600160a01b0384166004820152602481018790526044810191909152606490fd5b8451634b637e8f60e11b815260006004820152602490fd5b845162461bcd60e51b81526004810184905260116024820152702ab735b737bbb71037b832b930ba34b7b760791b6044820152606490fdfea2646970667358221220f64aff06e475b418e3cb3e3892104b639f9a88cb834dec83d25ec4b55d34f0bd64736f6c63430008140033","opcodes":"PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 DUP1 CALLDATASIZE LT ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP2 DUP3 PUSH4 0x13CF08B EQ PUSH2 0x1DDA JUMPI POP DUP2 PUSH4 0x44BC2BD EQ PUSH2 0x1CAB JUMPI DUP2 PUSH4 0x57B2074 EQ PUSH2 0x1C90 JUMPI DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x1BC2 JUMPI DUP2 PUSH4 0x95EA7B3 EQ PUSH2 0x1B23 JUMPI DUP2 PUSH4 0xC0512E9 EQ PUSH2 0x1B05 JUMPI DUP2 PUSH4 0xD61B519 EQ PUSH2 0x18FF JUMPI DUP2 PUSH4 0x18160DDD EQ PUSH2 0x18E1 JUMPI DUP2 PUSH4 0x204C5D1F EQ PUSH2 0x164E JUMPI DUP2 PUSH4 0x22DBEFBB EQ PUSH2 0xB3C JUMPI DUP2 PUSH4 0x23B872DD EQ PUSH2 0x1556 JUMPI DUP2 PUSH4 0x2EE09598 EQ PUSH2 0x14BC JUMPI DUP2 PUSH4 0x313CE567 EQ PUSH2 0x14A0 JUMPI DUP2 PUSH4 0x35324EEE EQ PUSH2 0x1338 JUMPI DUP2 PUSH4 0x3B60288A EQ PUSH2 0x1309 JUMPI DUP2 PUSH4 0x4114509B EQ PUSH2 0x11EF JUMPI DUP2 PUSH4 0x456D10C1 EQ PUSH2 0x1109 JUMPI DUP2 PUSH4 0x4B145793 EQ PUSH2 0x745 JUMPI DUP2 PUSH4 0x4DE184F6 EQ PUSH2 0x10E6 JUMPI DUP2 PUSH4 0x4FA76EC9 EQ PUSH2 0x10EB JUMPI DUP2 PUSH4 0x5221C1F0 EQ PUSH2 0x10E6 JUMPI DUP2 PUSH4 0x548D496F EQ PUSH2 0x10B7 JUMPI DUP2 PUSH4 0x5CF0E8A4 EQ PUSH2 0x1099 JUMPI DUP2 PUSH4 0x6CBADBFA EQ PUSH2 0x1099 JUMPI DUP2 PUSH4 0x70A08231 EQ PUSH2 0x105F JUMPI DUP2 PUSH4 0x7CE288EA EQ PUSH2 0xF6B JUMPI DUP2 PUSH4 0x7E5A9B47 EQ PUSH2 0xF3C JUMPI DUP2 PUSH4 0x893D692A EQ PUSH2 0xE20 JUMPI DUP2 PUSH4 0x8C7B04C9 EQ PUSH2 0xE02 JUMPI DUP2 PUSH4 0x95D89B41 EQ PUSH2 0xD17 JUMPI DUP2 PUSH4 0x9A49BDDE EQ PUSH2 0xCF2 JUMPI DUP2 PUSH4 0xA9059CBB EQ PUSH2 0xCC1 JUMPI DUP2 PUSH4 0xAF89D2C4 EQ PUSH2 0xC92 JUMPI DUP2 PUSH4 0xB00E0730 EQ PUSH2 0xB6E JUMPI DUP2 PUSH4 0xB0B6CC1A EQ PUSH2 0xB3C JUMPI DUP2 PUSH4 0xB3594510 EQ PUSH2 0x774 JUMPI DUP2 PUSH4 0xB3FE8BCB EQ PUSH2 0x745 JUMPI DUP2 PUSH4 0xC51CAB3A EQ PUSH2 0x6D5 JUMPI DUP2 PUSH4 0xC9D27AFE EQ PUSH2 0x54E JUMPI DUP2 PUSH4 0xCCD7A490 EQ PUSH2 0x388 JUMPI DUP2 PUSH4 0xDD62ED3E EQ PUSH2 0x337 JUMPI DUP2 PUSH4 0xE49A62E9 EQ PUSH2 0x310 JUMPI DUP2 PUSH4 0xECED3DFB EQ PUSH2 0x2F4 JUMPI POP PUSH4 0xF2C26A47 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x2A4 PUSH1 0x40 MLOAD PUSH2 0x230 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1EDB JUMP JUMPDEST SUB DUP3 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1F7F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x258 DUP3 PUSH2 0x251 DUP2 PUSH2 0x2006 JUMP JUMPDEST SUB DUP4 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 PUSH2 0x270 DUP4 PUSH2 0x269 DUP2 PUSH2 0x208D JUMP JUMPDEST SUB DUP5 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0xA SLOAD SWAP3 PUSH1 0xB SLOAD PUSH2 0x2CE PUSH1 0xD SLOAD SWAP3 PUSH2 0x2C0 PUSH1 0xE SLOAD SWAP6 PUSH2 0x2B2 PUSH1 0xFF PUSH1 0xF SLOAD AND SWAP9 PUSH1 0x40 MLOAD SWAP13 DUP14 SWAP13 DUP14 PUSH2 0x120 SWAP1 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST DUP13 DUP2 SUB PUSH1 0x20 DUP15 ADD MSTORE SWAP1 PUSH2 0x2222 JUMP JUMPDEST SWAP1 DUP11 DUP3 SUB PUSH1 0x40 DUP13 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST SWAP1 DUP9 DUP3 SUB PUSH1 0x60 DUP11 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST SWAP5 PUSH1 0x80 DUP8 ADD MSTORE PUSH1 0xA0 DUP7 ADD MSTORE PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xE0 DUP5 ADD MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 SWAP1 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x32D PUSH1 0x20 SWAP2 CALLDATALOAD PUSH2 0x278C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x350 PUSH2 0x22B8 JUMP JUMPDEST PUSH2 0x358 PUSH2 0x22CE JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 SWAP2 AND PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH2 0x396 CALLDATASIZE PUSH2 0x234C JUMP JUMPDEST SWAP1 PUSH2 0x39F PUSH2 0x25F5 JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x17 DUP5 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH2 0x3BC DUP3 SLOAD ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST DUP1 DUP3 ADD SLOAD TIMESTAMP LT ISZERO PUSH2 0x51A JUMPI PUSH2 0x3D8 PUSH1 0xFF PUSH1 0x3 DUP5 ADD SLOAD AND ISZERO PUSH2 0x2711 JUMP JUMPDEST PUSH1 0x6 DUP3 ADD SWAP1 CALLER PUSH1 0x0 MSTORE DUP2 DUP7 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x4E5 JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x4AD JUMPI POP SWAP4 PUSH2 0x48E SWAP2 PUSH32 0x78B8E65C466DF05EA5DDF0593B44648ECA1F35C039F180E31257A6F1BDD005DC SWAP6 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP4 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP5 PUSH1 0x0 EQ PUSH2 0x498 JUMPI PUSH1 0x1 ADD PUSH2 0x462 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP4 DUP5 MSTORE CALLER PUSH1 0x20 DUP6 ADD MSTORE SWAP4 ISZERO ISZERO SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x60 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x80 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH1 0x1 PUSH1 0x5 SSTORE STOP JUMPDEST PUSH1 0x2 ADD PUSH2 0x4A6 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE PUSH2 0x465 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x2737903A37B5B2B739903A379039B4B3B7 PUSH1 0x79 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x105B1C9958591E481CDA59DB9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x14DA59DB9A5B99C8195B991959 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH2 0x55C CALLDATASIZE PUSH2 0x234C JUMP JUMPDEST SWAP1 PUSH2 0x565 PUSH2 0x25F5 JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 PUSH1 0x16 DUP5 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH2 0x582 DUP4 DUP4 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SLOAD TIMESTAMP LT ISZERO PUSH2 0x6A2 JUMPI PUSH2 0x59E PUSH1 0xFF DUP3 DUP5 ADD SLOAD AND ISZERO PUSH2 0x25A9 JUMP JUMPDEST PUSH1 0x8 DUP3 ADD SWAP1 CALLER PUSH1 0x0 MSTORE DUP2 DUP7 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x66E JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP7 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x636 JUMPI POP SWAP4 PUSH2 0x48E SWAP2 PUSH32 0x78975AAF742630489BADD22949B88AC50EAAEA576339EE05440B671A33BFB6A9 SWAP6 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP4 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP5 PUSH1 0x0 EQ PUSH2 0x628 JUMPI PUSH1 0x2 ADD PUSH2 0x462 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x3 ADD PUSH2 0x4A6 DUP3 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x4E6F20746F6B656E7320746F20766F7465 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x105B1C9958591E481D9BDD1959 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x159BDD1A5B99C8195B991959 PUSH1 0xA2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 PUSH1 0xC0 SWAP2 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD SWAP2 PUSH1 0x1 DUP2 ADD SLOAD SWAP2 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0xFF PUSH1 0x3 DUP5 ADD SLOAD AND SWAP2 DUP4 ADD SLOAD SWAP3 PUSH1 0x5 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB SWAP2 ADD SLOAD AND SWAP4 PUSH1 0x40 MLOAD SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x40 DUP6 ADD MSTORE ISZERO ISZERO PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x15 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x80 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF SWAP2 DUP3 DUP3 GT PUSH2 0x2EF JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0x2EF JUMPI PUSH2 0x7B7 PUSH1 0x24 SWAP3 CALLDATASIZE SWAP1 DUP5 DUP2 DUP6 ADD CALLDATALOAD SWAP2 ADD PUSH2 0x2263 JUMP JUMPDEST SWAP1 DUP3 CALLDATALOAD SWAP4 PUSH1 0x44 CALLDATALOAD DUP2 DUP2 GT PUSH2 0x2EF JUMPI PUSH2 0x7D2 SWAP1 CALLDATASIZE SWAP1 DUP5 ADD PUSH2 0x229A JUMP JUMPDEST SWAP5 PUSH1 0x64 CALLDATALOAD SWAP6 CALLER PUSH1 0x0 MSTORE PUSH1 0x20 SWAP7 PUSH1 0x0 DUP9 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0xAED JUMPI PUSH2 0x7F8 DUP4 ISZERO ISZERO PUSH2 0x246C JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x18 DUP9 MSTORE PUSH2 0x811 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x18 DUP8 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0xAB4 JUMPI PUSH1 0x11 SLOAD SWAP6 PUSH2 0x833 DUP8 PUSH2 0x24FA JUMP JUMPDEST PUSH1 0x11 SSTORE DUP7 PUSH1 0x0 MSTORE PUSH1 0x16 DUP9 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP8 DUP2 SSTORE PUSH1 0x1 SWAP4 DUP5 DUP3 ADD DUP9 MLOAD DUP8 DUP2 GT PUSH2 0xAA0 JUMPI PUSH2 0x869 DUP2 PUSH2 0x863 DUP5 SLOAD PUSH2 0x1EA1 JUMP JUMPDEST DUP5 PUSH2 0x2509 JUMP JUMPDEST DUP12 DUP13 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0xA2B JUMPI POP SWAP2 DUP2 PUSH1 0x7 SWAP6 SWAP5 SWAP3 PUSH2 0x8BC SWAP5 PUSH1 0x0 SWAP2 PUSH2 0xA20 JUMPI JUMPDEST POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP10 SHL OR SWAP1 SSTORE JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP5 ADD SSTORE PUSH1 0x0 PUSH1 0x3 DUP5 ADD SSTORE DUP9 DUP4 ADD PUSH1 0xFF NOT DUP2 SLOAD AND SWAP1 SSTORE TIMESTAMP PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SSTORE PUSH1 0x6 DUP2 ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH1 0xA0 SHL DUP3 SLOAD AND OR SWAP1 SSTORE ADD SWAP5 DUP3 MLOAD SWAP5 DUP6 GT PUSH2 0xA0D JUMPI POP POP PUSH2 0x8F8 DUP4 PUSH2 0x8F2 DUP7 SLOAD PUSH2 0x1EA1 JUMP JUMPDEST DUP7 PUSH2 0x2509 JUMP JUMPDEST DUP7 SWAP1 PUSH1 0x1F DUP5 GT PUSH1 0x1 EQ PUSH2 0x980 JUMPI SWAP3 DUP1 PUSH2 0x96A SWAP6 SWAP4 DUP2 SWAP4 PUSH32 0x7585F467599D0F008985F231AF99293BE388626AC16CA59505C2F8F88969CD63 SWAP9 SWAP7 PUSH1 0x0 SWAP5 PUSH2 0x975 JUMPI JUMPDEST POP POP SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP6 DUP4 MSTORE CALLER DUP8 DUP5 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST SUB SWAP1 LOG1 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST ADD MLOAD SWAP3 POP DUP11 DUP1 PUSH2 0x939 JUMP JUMPDEST SWAP1 PUSH1 0x1F SWAP4 SWAP3 SWAP4 NOT DUP4 AND SWAP2 DUP6 PUSH1 0x0 MSTORE DUP9 PUSH1 0x0 KECCAK256 SWAP3 PUSH1 0x0 JUMPDEST DUP11 DUP3 DUP3 LT PUSH2 0x9F9 JUMPI POP POP SWAP2 PUSH32 0x7585F467599D0F008985F231AF99293BE388626AC16CA59505C2F8F88969CD63 SWAP8 SWAP6 SWAP4 SWAP2 DUP6 PUSH2 0x96A SWAP9 SWAP7 SWAP5 LT PUSH2 0x9E0 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x94B JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE DUP9 DUP1 DUP1 PUSH2 0x9D3 JUMP JUMPDEST DUP4 DUP6 ADD MLOAD DUP7 SSTORE SWAP5 DUP8 ADD SWAP5 SWAP4 DUP5 ADD SWAP4 ADD PUSH2 0x996 JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST SWAP1 POP DUP13 ADD MLOAD DUP16 PUSH2 0x88A JUMP JUMPDEST DUP9 SWAP3 SWAP2 DUP13 PUSH1 0x1F NOT DUP5 AND DUP7 PUSH1 0x0 MSTORE DUP4 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0xA85 JUMPI POP POP SWAP2 PUSH1 0x7 SWAP9 SWAP8 SWAP6 SWAP4 SWAP2 DUP6 PUSH2 0x8BC SWAP9 SWAP7 SWAP5 LT PUSH2 0xA6C JUMPI JUMPDEST POP POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x89D JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE DUP16 DUP1 DUP15 PUSH2 0xA5F JUMP JUMPDEST SWAP3 DUP5 ADD MLOAD DUP6 SSTORE DUP13 SWAP7 SWAP1 SWAP5 ADD SWAP4 SWAP3 DUP3 ADD SWAP3 DUP16 SWAP3 SWAP1 DUP2 ADD SWAP1 PUSH2 0xA41 JUMP JUMPDEST DUP5 PUSH1 0x41 DUP11 PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE MSTORE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE DUP1 DUP6 ADD DUP9 SWAP1 MSTORE PUSH1 0x13 DUP2 DUP9 ADD MSTORE PUSH19 0x436861696E206E6F7420617661696C61626C65 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE DUP1 DUP7 ADD DUP10 SWAP1 MSTORE PUSH1 0x23 DUP2 DUP10 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F206372656174652070726F706F PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x1CD85B PUSH1 0xEA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x14 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD CALLER PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0xC42 JUMPI PUSH1 0x60 PUSH1 0x20 SWAP4 PUSH1 0x5 DUP4 PUSH2 0xBCD PUSH32 0x8D5C76B09B9C1F4D0453D21436DCB0B568A50E9C0AE059E4D0AE8C95C71D07F0 SWAP6 ISZERO ISZERO PUSH2 0x246C JUMP JUMPDEST PUSH1 0x12 SLOAD SWAP6 PUSH2 0xBDA DUP8 PUSH2 0x24FA JUMP JUMPDEST PUSH1 0x12 SSTORE DUP7 PUSH1 0x0 MSTORE PUSH1 0x17 DUP9 MSTORE PUSH2 0xC11 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP3 DUP6 DUP5 SSTORE PUSH1 0x0 PUSH1 0x1 DUP6 ADD SSTORE PUSH1 0x0 PUSH1 0x2 DUP6 ADD SSTORE PUSH1 0x3 DUP5 ADD PUSH1 0xFF NOT DUP2 SLOAD AND SWAP1 SSTORE TIMESTAMP PUSH2 0x2449 JUMP JUMPDEST SWAP1 DUP3 ADD SSTORE ADD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH1 0xA0 SHL DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP5 DUP3 MSTORE CALLER DUP7 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE LOG1 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 DUP2 DUP5 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F20637265617465206F70657261 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x3A34B7B7 PUSH1 0xE1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xCE7 PUSH2 0xCDD PUSH2 0x22B8 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER PUSH2 0x236B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xD0F PUSH1 0x20 SWAP2 CALLDATALOAD PUSH2 0x27ED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x40 MLOAD SWAP1 PUSH1 0x0 SWAP1 DUP1 SLOAD PUSH2 0xD3A DUP2 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP6 MSTORE SWAP2 PUSH1 0x1 SWAP2 DUP1 DUP4 AND SWAP1 DUP2 ISZERO PUSH2 0xDD8 JUMPI POP PUSH1 0x1 EQ PUSH2 0xD7C JUMPI JUMPDEST PUSH2 0xD78 DUP6 PUSH2 0xD64 DUP2 DUP8 SUB DUP3 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE SWAP3 POP PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B JUMPDEST DUP3 DUP5 LT PUSH2 0xDC0 JUMPI POP POP POP DUP2 ADD PUSH1 0x20 ADD PUSH2 0xD64 DUP3 PUSH2 0xD78 PUSH2 0xD54 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0xDA5 JUMP JUMPDEST DUP7 SWAP6 POP PUSH2 0xD78 SWAP7 SWAP4 POP PUSH1 0x20 SWAP3 POP PUSH2 0xD64 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP3 SWAP4 PUSH2 0xD54 JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x12 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 DUP2 PUSH1 0x0 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD SWAP2 PUSH2 0xE51 DUP4 ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST PUSH1 0x3 DUP2 ADD SWAP2 DUP1 DUP4 SLOAD SWAP3 PUSH2 0xE67 PUSH1 0xFF DUP6 AND ISZERO PUSH2 0x2711 JUMP JUMPDEST ADD SLOAD TIMESTAMP LT PUSH2 0xF04 JUMPI PUSH2 0xE78 DUP6 PUSH2 0x275D JUMP JUMPDEST DUP2 PUSH2 0xEFC JUMPI JUMPDEST POP ISZERO PUSH2 0xEC1 JUMPI PUSH32 0x64CEE5A70D662A7EEF5B2A171DAA51DC624F3D64A35D0855B385262B893DC5A5 PUSH1 0x40 DUP7 DUP7 DUP7 PUSH1 0x1 DUP8 PUSH1 0xFF NOT AND OR SWAP1 SSTORE DUP3 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE LOG1 STOP JUMPDEST PUSH1 0x64 SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x13DC195C985D1A5BDB881B9BDD081C185CDCD959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST SWAP1 POP DUP7 PUSH2 0xE7E JUMP JUMPDEST PUSH1 0x64 SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x14DA59DB9A5B99C81B9BDD08195B991959 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xF57 SWAP1 CALLDATALOAD PUSH2 0x2668 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 ISZERO ISZERO DUP4 MSTORE SWAP1 ISZERO ISZERO PUSH1 0x20 DUP4 ADD MSTORE SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 PUSH2 0xF88 DUP3 PUSH2 0x278C JUMP JUMPDEST ISZERO PUSH2 0x1024 JUMPI PUSH1 0x13 SLOAD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0xFC7 JUMPI PUSH32 0x57DF5A6A467271F04B10F7FE9E66D21DCD8AE7EAF079099D48959F24A53B6910 PUSH1 0x20 DUP6 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG1 STOP JUMPDEST DUP1 PUSH32 0x42E60114B8BC5803B43A4BCD35572ECE9A5E2CABB79A838A02D56A4C53E83313 PUSH2 0x1017 PUSH2 0xFF8 PUSH2 0x101F SWAP5 PUSH2 0x27ED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP8 DUP11 DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 PUSH1 0x60 DUP3 ADD SWAP6 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG1 PUSH2 0x24FA JUMP JUMPDEST PUSH2 0xF93 JUMP JUMPDEST PUSH1 0x64 SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x4E6F7420616C6C20636861696E73207265616479 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1080 PUSH2 0x22B8 JUMP JUMPDEST AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH2 0x231F JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x10 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH32 0xCA1838D50CA3156F1ACE7CDE39A081CC9C9A333AF6FCA55DB71817F8717E1DCB PUSH2 0x1138 CALLDATASIZE PUSH2 0x22E4 JUMP JUMPDEST POP DUP4 PUSH1 0x0 SWAP5 SWAP4 SWAP5 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH2 0x11AE PUSH1 0x3 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x115B DUP7 DUP3 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST DUP7 PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH2 0x1175 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST PUSH1 0x9 DUP2 ADD SWAP5 DUP8 PUSH1 0x0 MSTORE DUP6 PUSH1 0x20 MSTORE PUSH2 0x1194 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0x2618 JUMP JUMPDEST PUSH2 0x11A3 PUSH1 0x2 DUP4 ADD SWAP2 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE ADD SWAP2 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST SWAP1 SSTORE DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE PUSH2 0x11EA PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 PUSH1 0x60 DUP3 ADD SWAP6 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG1 STOP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x2EF JUMPI DUP2 CALLDATALOAD SWAP2 CALLER PUSH1 0x0 MSTORE PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x12BD JUMPI DUP3 PUSH1 0x0 MSTORE PUSH1 0x15 DUP3 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0x1283 JUMPI POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x14 DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x15 DUP4 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD SWAP2 DUP3 MSTORE PUSH32 0x4C7C76ABE482A2C36EA52F1B999474C69F8B4AFEEAC5635F8AEA2526864BA853 SWAP2 LOG1 STOP JUMPDEST PUSH1 0x64 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x135BD91D5B1948191BD95CC81B9BDD08195E1A5CDD PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x84 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F2072656D6F7665206D6F64756C PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x65 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD SWAP1 PUSH2 0x1354 PUSH2 0x22CE JUMP JUMPDEST CALLER PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 PUSH1 0x0 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD ISZERO PUSH2 0x145C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 DUP3 ISZERO PUSH2 0x142B JUMPI DUP4 PUSH1 0x0 MSTORE PUSH1 0x15 DUP3 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x13F1 JUMPI PUSH32 0xF14475B19484BF096265507CC0C41CD3BF1994992088806830686E2D72722719 PUSH1 0x40 DUP6 DUP6 DUP6 DUP3 PUSH1 0x0 MSTORE PUSH1 0x14 DUP2 MSTORE DUP4 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH1 0xA0 SHL DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x15 DUP2 MSTORE DUP4 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP4 MLOAD SWAP3 DUP4 MSTORE DUP3 ADD MSTORE LOG1 STOP JUMPDEST PUSH1 0x64 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4D6F64756C6520616C726561647920657869737473 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x64 SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH3 0x461BCD PUSH1 0xE5 SHL DUP4 MSTORE DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x5A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE DUP1 DUP5 ADD DUP4 SWAP1 MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D75737420686F6C6420746F6B656E7320746F20616464206D6F64756C650000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH32 0xE379B3DEB66DDFA7962A2BDF35E9A08B5BED672C9DA3ECF7CC6174D253C6DFE5 PUSH2 0x14EB CALLDATASIZE PUSH2 0x22E4 JUMP JUMPDEST POP DUP4 PUSH1 0x0 SWAP5 SWAP4 SWAP5 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH2 0x11AE PUSH1 0x2 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x150E DUP2 SLOAD ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST DUP7 PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH2 0x1528 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST PUSH1 0x7 DUP2 ADD SWAP5 DUP8 PUSH1 0x0 MSTORE DUP6 PUSH1 0x20 MSTORE PUSH2 0x1547 PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND ISZERO PUSH2 0x2618 JUMP JUMPDEST PUSH2 0x11A3 PUSH1 0x1 DUP4 ADD SWAP2 DUP3 SLOAD PUSH2 0x2449 JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x156F PUSH2 0x22B8 JUMP JUMPDEST PUSH2 0x1577 PUSH2 0x22CE JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP2 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 CALLER PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP5 PUSH1 0x0 NOT DUP7 LT PUSH2 0x15B6 JUMPI JUMPDEST POP POP PUSH2 0xCE7 SWAP4 POP PUSH2 0x236B JUMP JUMPDEST DUP5 DUP7 LT PUSH2 0x1622 JUMPI DUP2 ISZERO PUSH2 0x160A JUMPI CALLER ISZERO PUSH2 0x15F2 JUMPI POP PUSH2 0xCE7 SWAP5 DUP5 SWAP2 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 CALLER PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE SUB PUSH1 0x40 PUSH1 0x0 KECCAK256 SSTORE DUP5 DUP1 PUSH2 0x15AA JUMP JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x0 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x4A1406B1 PUSH1 0xE1 SHL DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x24 SWAP1 PUSH1 0x0 PUSH1 0x40 MLOAD SWAP2 PUSH4 0xE602DF05 PUSH1 0xE0 SHL DUP4 MSTORE DUP3 ADD MSTORE REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH4 0x7DC7A0D9 PUSH1 0xE1 SHL DUP2 MSTORE CALLER SWAP3 DUP2 ADD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD DUP9 SWAP1 MSTORE SWAP1 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x60 ADD SUB SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x0 PUSH2 0x120 PUSH1 0x40 MLOAD PUSH2 0x1670 DUP2 PUSH2 0x21AA JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP1 DUP3 ADD MSTORE DUP3 PUSH1 0x80 DUP3 ADD MSTORE DUP3 PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0xC0 DUP3 ADD MSTORE DUP3 PUSH1 0xE0 DUP3 ADD MSTORE DUP3 PUSH2 0x100 DUP3 ADD MSTORE ADD MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH2 0x16B7 DUP3 PUSH2 0x21AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16C7 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1EDB JUMP JUMPDEST DUP3 MSTORE PUSH1 0x40 MLOAD PUSH2 0x16D9 DUP2 PUSH2 0x229 DUP2 PUSH2 0x1F7F JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 MLOAD PUSH2 0x16EE DUP2 PUSH2 0x229 DUP2 PUSH2 0x2006 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x40 MLOAD PUSH2 0x1703 DUP2 PUSH2 0x229 DUP2 PUSH2 0x208D JUMP JUMPDEST PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0xA SLOAD PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xB SLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x18CC JUMPI POP PUSH1 0x40 MLOAD SWAP1 PUSH2 0x1740 PUSH1 0x20 DUP3 PUSH1 0x5 SHL ADD DUP4 PUSH2 0x21DD JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD PUSH1 0xC PUSH1 0x0 MSTORE PUSH32 0xDF6966C971051C3D54EC59162606531493A51404A002842F56009D7E5CF4A8C7 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x18A7 JUMPI DUP6 DUP6 PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xD SLOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH1 0xE SLOAD PUSH2 0x100 DUP3 ADD MSTORE PUSH1 0xFF PUSH1 0xF SLOAD AND ISZERO ISZERO PUSH2 0x120 DUP3 ADD MSTORE PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 MSTORE PUSH2 0x1808 PUSH2 0x17F2 PUSH2 0x17DC PUSH2 0x17C6 DUP6 MLOAD PUSH2 0x140 PUSH1 0x20 DUP8 ADD MSTORE PUSH2 0x160 DUP7 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x20 DUP7 ADD MLOAD DUP6 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0x40 DUP8 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD MLOAD DUP4 DUP3 SUB PUSH1 0x1F NOT ADD PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xC0 DUP4 ADD MLOAD SWAP1 PUSH1 0x1F NOT DUP4 DUP3 SUB ADD PUSH1 0xE0 DUP5 ADD MSTORE DUP2 MLOAD DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 PUSH1 0x20 DUP1 DUP4 PUSH1 0x5 SHL DUP4 ADD ADD SWAP5 ADD SWAP3 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x187A JUMPI DUP7 DUP1 DUP8 PUSH2 0x120 DUP12 PUSH1 0xE0 DUP2 ADD MLOAD PUSH2 0x100 DUP6 ADD MSTORE PUSH2 0x100 DUP2 ADD MLOAD DUP3 DUP6 ADD MSTORE ADD MLOAD ISZERO ISZERO PUSH2 0x140 DUP4 ADD MSTORE SUB SWAP1 RETURN JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 PUSH1 0x20 DUP1 PUSH2 0x1898 PUSH1 0x1 SWAP4 PUSH1 0x1F NOT DUP7 DUP3 SUB ADD DUP8 MSTORE DUP10 MLOAD PUSH2 0x2222 JUMP JUMPDEST SWAP8 ADD SWAP4 ADD SWAP4 ADD SWAP2 SWAP4 SWAP3 SWAP1 PUSH2 0x1849 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP3 PUSH1 0x40 MLOAD PUSH2 0x18BE DUP2 PUSH2 0x229 DUP2 DUP10 PUSH2 0x2114 JUMP JUMPDEST DUP2 MSTORE ADD SWAP3 ADD SWAP3 ADD SWAP2 SWAP1 PUSH2 0x1771 JUMP JUMPDEST PUSH1 0x41 SWAP1 PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x2EF JUMPI DUP2 CALLDATALOAD SWAP2 DUP3 PUSH1 0x0 MSTORE PUSH1 0x16 DUP3 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 PUSH2 0x192E DUP5 DUP5 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST DUP2 DUP4 ADD SWAP3 DUP4 SLOAD SWAP3 PUSH2 0x1942 PUSH1 0xFF DUP6 AND ISZERO PUSH2 0x25A9 JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SLOAD TIMESTAMP LT PUSH2 0x1ACE JUMPI PUSH2 0x1956 DUP7 PUSH2 0x2668 JUMP JUMPDEST DUP2 PUSH2 0x1AC6 JUMPI JUMPDEST POP ISZERO PUSH2 0x1A8C JUMPI POP PUSH1 0x7 SWAP1 PUSH1 0x1 SWAP5 DUP6 PUSH1 0xFF NOT DUP1 SWAP7 AND OR SWAP1 SSTORE ADD SWAP3 PUSH2 0x198E PUSH1 0x40 MLOAD PUSH2 0x1989 DUP2 PUSH2 0x229 DUP2 DUP10 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0x2884 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 DUP6 MSTORE PUSH1 0x40 DUP3 DUP7 ADD MSTORE PUSH1 0x0 SWAP4 DUP1 SLOAD PUSH2 0x19A8 DUP2 PUSH2 0x1EA1 JUMP JUMPDEST SWAP5 DUP6 PUSH1 0x40 DUP10 ADD MSTORE DUP4 DUP3 AND SWAP2 DUP3 PUSH1 0x0 EQ PUSH2 0x1A46 JUMPI POP POP PUSH1 0x1 EQ PUSH2 0x19ED JUMPI JUMPDEST PUSH32 0xBADBD87941BB6424ED4AA4719BF01A3319B64480E49F89018C718603239553D2 DUP7 DUP7 SUB DUP8 LOG1 STOP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE DUP3 DUP2 KECCAK256 SWAP1 SWAP5 POP JUMPDEST DUP4 DUP6 LT PUSH2 0x1A32 JUMPI POP POP POP POP DUP2 ADD PUSH1 0x60 ADD DUP2 PUSH32 0xBADBD87941BB6424ED4AA4719BF01A3319B64480E49F89018C718603239553D2 DUP5 DUP1 PUSH2 0x19C5 JUMP JUMPDEST DUP1 SLOAD DUP7 DUP7 ADD PUSH1 0x60 ADD MSTORE SWAP4 DUP3 ADD SWAP4 DUP2 ADD PUSH2 0x19F9 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP7 SWAP6 POP PUSH1 0x60 SWAP4 POP PUSH32 0xBADBD87941BB6424ED4AA4719BF01A3319B64480E49F89018C718603239553D2 SWAP7 SWAP5 SWAP3 POP AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD SWAP2 SWAP3 DUP5 DUP1 PUSH2 0x19C5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x141C9BDC1BDCD85B081B9BDD081C185CDCD959 PUSH1 0x6A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST SWAP1 POP DUP8 PUSH2 0x195C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x159BDD1A5B99C81B9BDD08195B991959 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH1 0x11 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0x1B3C PUSH2 0x22B8 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER ISZERO PUSH2 0x1BAA JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 DUP3 ISZERO PUSH2 0x15F2 JUMPI POP CALLER PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP1 PUSH1 0x40 PUSH1 0x0 KECCAK256 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x20 CALLER SWAP3 LOG3 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xE602DF05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 DUP2 DUP6 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x3 SLOAD PUSH2 0x1BE4 DUP2 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP1 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1C69 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1C0E JUMPI JUMPDEST PUSH2 0xD78 DUP5 PUSH2 0xD64 DUP2 DUP7 SUB DUP3 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 DUP2 MSTORE SWAP3 POP PUSH32 0xC2575A0E9E593C00F959F8C92F12DB2869C3395A3B0502D05E2516446F71F85B JUMPDEST DUP3 DUP5 LT PUSH2 0x1C51 JUMPI POP POP POP DUP2 ADD PUSH1 0x20 ADD PUSH2 0xD64 DUP3 PUSH2 0x1BFE JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP8 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x1C39 JUMP JUMPDEST PUSH1 0xFF NOT AND PUSH1 0x20 DUP1 DUP8 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP3 ISZERO ISZERO PUSH1 0x5 SHL DUP6 ADD SWAP1 SWAP3 ADD SWAP3 POP PUSH2 0xD64 SWAP2 POP DUP4 SWAP1 POP PUSH2 0x1BFE JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH2 0xF57 SWAP1 CALLDATALOAD PUSH2 0x275D JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x24 CALLDATALOAD DUP2 CALLDATALOAD PUSH1 0x44 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x2EF JUMPI PUSH2 0x1CE0 SWAP1 CALLDATASIZE SWAP1 DUP6 ADD PUSH2 0x229A JUMP JUMPDEST POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH2 0x1CFB PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x24B8 JUMP JUMPDEST DUP1 PUSH1 0x0 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND PUSH2 0x1DA3 JUMPI PUSH32 0x42E60114B8BC5803B43A4BCD35572ECE9A5E2CABB79A838A02D56A4C53E83313 SWAP3 POP DUP1 PUSH1 0x0 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD EQ PUSH2 0x1D84 JUMPI JUMPDEST POP PUSH2 0x11EA PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP4 DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 PUSH1 0x60 DUP3 ADD SWAP6 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST PUSH1 0x7 PUSH2 0x1989 PUSH2 0x1D9D SWAP3 PUSH2 0x229 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 ADD PUSH2 0x2114 JUMP JUMPDEST DUP4 PUSH2 0x1D60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 DUP2 DUP6 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x105B1C9958591E48195E1958DD5D1959 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST SWAP1 CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI DUP1 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH2 0xD78 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x7 DUP4 SLOAD SWAP4 PUSH2 0x1E1C DUP7 PUSH2 0x1E15 DUP2 PUSH1 0x1 DUP6 ADD PUSH2 0x2114 JUMP JUMPDEST SUB DUP8 PUSH2 0x21DD JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP3 PUSH1 0xFF PUSH1 0x3 DUP4 ADD SLOAD SWAP2 DUP4 ADD SLOAD AND PUSH1 0x5 DUP4 ADD SLOAD SWAP2 PUSH2 0x1E5C PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x6 DUP7 ADD SLOAD AND SWAP5 PUSH2 0x1E55 PUSH1 0x40 MLOAD DUP1 SWAP9 DUP2 SWAP4 ADD PUSH2 0x2114 JUMP JUMPDEST SUB DUP7 PUSH2 0x21DD JUMP JUMPDEST PUSH2 0x1E78 PUSH1 0x40 MLOAD SWAP10 DUP11 SWAP10 DUP11 MSTORE PUSH2 0x100 DUP1 PUSH1 0x20 DUP13 ADD MSTORE DUP11 ADD SWAP1 PUSH2 0x2222 JUMP JUMPDEST SWAP6 PUSH1 0x40 DUP10 ADD MSTORE PUSH1 0x60 DUP9 ADD MSTORE ISZERO ISZERO PUSH1 0x80 DUP8 ADD MSTORE PUSH1 0xA0 DUP7 ADD MSTORE PUSH1 0xC0 DUP6 ADD MSTORE DUP4 DUP3 SUB PUSH1 0xE0 DUP6 ADD MSTORE PUSH2 0x2222 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1ED1 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1EBB JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1EB0 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x1EEB DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1F09 JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x6 PUSH1 0x0 MSTORE PUSH32 0xF652222313E28459528D920B65115C16C04F3EFC82AAEDC97BE59F3F377C0D3F SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1F4A JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x1F38 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 SWAP4 SWAP5 POP PUSH1 0xFF SWAP3 SWAP2 SWAP3 NOT AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x1F8F DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x1FAD JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x7 PUSH1 0x0 MSTORE PUSH32 0xA66CC928B5EDB82AF9BD49922954155AB7B0942694BEA4CE44661D9A8736C688 SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x1FEE JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x1FDC JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x2016 DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x2034 JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x8 PUSH1 0x0 MSTORE PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x2075 JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x2063 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x0 SWAP3 SWAP2 PUSH2 0x209D DUP3 PUSH2 0x1EA1 JUMP JUMPDEST DUP1 DUP3 MSTORE SWAP2 PUSH1 0x1 SWAP1 DUP2 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1F62 JUMPI POP PUSH1 0x1 EQ PUSH2 0x20BB JUMPI POP POP POP JUMP JUMPDEST SWAP2 SWAP3 SWAP4 POP PUSH1 0x9 PUSH1 0x0 MSTORE PUSH32 0x6E1540171B6C0C960B71A7020D9F60077F6AF931A8BBF590DA0223DACF75C7AF SWAP2 PUSH1 0x0 SWAP3 JUMPDEST DUP5 DUP5 LT PUSH2 0x20FC JUMPI POP POP PUSH1 0x20 SWAP3 POP ADD ADD SWAP1 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x20 DUP6 DUP6 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 SWAP4 ADD SWAP3 DUP2 ADD PUSH2 0x20EA JUMP JUMPDEST SWAP1 PUSH1 0x0 SWAP3 SWAP2 DUP1 SLOAD SWAP2 PUSH2 0x2125 DUP4 PUSH2 0x1EA1 JUMP JUMPDEST SWAP2 DUP3 DUP3 MSTORE PUSH1 0x1 SWAP4 DUP5 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x2187 JUMPI POP PUSH1 0x1 EQ PUSH2 0x2147 JUMPI JUMPDEST POP POP POP POP JUMP JUMPDEST SWAP1 SWAP2 SWAP4 SWAP5 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 DUP4 PUSH1 0x0 KECCAK256 SWAP3 DUP5 PUSH1 0x0 SWAP5 JUMPDEST DUP4 DUP7 LT PUSH2 0x2173 JUMPI POP POP POP POP ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x2141 JUMP JUMPDEST DUP1 SLOAD DUP6 DUP8 ADD DUP4 ADD MSTORE SWAP5 ADD SWAP4 DUP6 SWAP1 DUP3 ADD PUSH2 0x215C JUMP JUMPDEST SWAP3 SWAP5 POP POP POP PUSH1 0x20 SWAP4 SWAP5 POP PUSH1 0xFF NOT AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x2141 JUMP JUMPDEST PUSH2 0x140 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x21C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x21C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x2212 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2202 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x223B DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x21FF JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x21C7 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x226F DUP3 PUSH2 0x2247 JUMP JUMPDEST SWAP2 PUSH2 0x227D PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x21DD JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x2EF JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x2EF JUMPI DUP2 PUSH1 0x20 PUSH2 0x22B5 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x2263 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0x2EF JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0x2EF JUMPI JUMP JUMPDEST PUSH1 0xA0 PUSH1 0x3 NOT DUP3 ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH1 0x44 CALLDATALOAD SWAP2 PUSH1 0x64 CALLDATALOAD SWAP2 PUSH1 0x84 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x2EF JUMPI PUSH2 0x22B5 SWAP2 PUSH1 0x4 ADD PUSH2 0x229A JUMP JUMPDEST CALLVALUE PUSH2 0x2EF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x20 PUSH2 0x32D PUSH1 0x4 CALLDATALOAD PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH1 0x3 NOT ADD SLT PUSH2 0x2EF JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH2 0x2EF JUMPI SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 DUP4 ISZERO PUSH2 0x2430 JUMPI AND SWAP3 DUP4 ISZERO PUSH2 0x2417 JUMPI PUSH1 0x0 SWAP1 DUP4 DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD SWAP1 DUP4 DUP3 LT PUSH2 0x23E5 JUMPI POP SWAP2 PUSH1 0x40 DUP3 DUP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP6 DUP8 PUSH1 0x20 SWAP7 MSTORE DUP3 DUP7 MSTORE SUB DUP3 DUP3 KECCAK256 SSTORE DUP7 DUP2 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x2456 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ISZERO PUSH2 0x2473 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4475726174696F6E206D75737420626520706F73697469766500000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x24BF JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x10DA185A5B881B9BDD081CDD5C1C1BDC9D1959 PUSH1 0x6A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2456 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x2517 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP4 ADD SWAP5 LT PUSH2 0x2553 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP2 JUMPDEST DUP3 DUP2 LT PUSH2 0x2548 JUMPI POP POP POP JUMP JUMPDEST DUP2 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x253C JUMP JUMPDEST SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x2533 JUMP JUMPDEST ISZERO PUSH2 0x2564 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x50726F706F73616C20646F6573206E6F74206578697374000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x25B0 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x50726F706F73616C20616C726561647920657865637574656400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x5 SLOAD EQ PUSH2 0x2606 JUMPI PUSH1 0x2 PUSH1 0x5 SSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3EE5AEB5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x261F JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x105B1C9958591E481CDE5B98D959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP2 DUP2 MUL SWAP3 SWAP2 DUP2 ISZERO SWAP2 DUP5 DIV EQ OR ISZERO PUSH2 0x2456 JUMPI JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x0 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH2 0x2683 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP3 DUP4 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST PUSH1 0x3 PUSH1 0x2 DUP4 ADD SLOAD SWAP3 ADD SLOAD SWAP2 PUSH2 0x2698 DUP4 DUP3 PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x64 PUSH2 0x26A9 PUSH1 0x2 SLOAD PUSH1 0x10 SLOAD SWAP1 PUSH2 0x2655 JUMP JUMPDEST DIV GT ISZERO SWAP3 DUP4 SWAP2 DUP3 PUSH2 0x26BB JUMPI JUMPDEST POP POP SWAP2 SWAP1 JUMP JUMPDEST GT SWAP1 POP CODESIZE DUP1 PUSH2 0x26B5 JUMP JUMPDEST ISZERO PUSH2 0x26CC JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F7065726174696F6E20646F6573206E6F742065786973740000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST ISZERO PUSH2 0x2718 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F7065726174696F6E20616C7265616479206578656375746564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x17 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 PUSH2 0x2777 DUP3 SLOAD ISZERO ISZERO PUSH2 0x26C5 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x1 DUP4 ADD SLOAD SWAP3 ADD SLOAD SWAP2 PUSH2 0x2698 DUP4 DUP3 PUSH2 0x2449 JUMP JUMPDEST PUSH2 0x27A5 PUSH1 0x0 SWAP2 DUP1 DUP4 MSTORE PUSH1 0x16 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 SLOAD EQ PUSH2 0x255D JUMP JUMPDEST DUP1 JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x27B6 JUMPI POP POP PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH2 0x27D6 PUSH2 0x27C2 DUP3 PUSH2 0x27ED JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH1 0x18 PUSH1 0x20 MSTORE PUSH1 0xFF PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST ISZERO PUSH2 0x27E9 JUMPI PUSH2 0x27E4 SWAP1 PUSH2 0x24FA JUMP JUMPDEST PUSH2 0x27A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2857 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2851 JUMPI PUSH1 0x2 DUP2 EQ PUSH2 0x284B JUMPI PUSH1 0x3 EQ PUSH2 0x2845 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x92DCECC2D8D2C840C6D0C2D2DC40D2DCC8CAF PUSH1 0x6B SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH2 0xA4B1 SWAP1 JUMP JUMPDEST POP PUSH1 0x38 SWAP1 JUMP JUMPDEST POP PUSH1 0x89 SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x2EF JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x2EF JUMPI PUSH1 0x20 SWAP1 SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP2 ADD SWAP1 PUSH1 0x20 SWAP1 DUP1 DUP3 DUP5 ADD SWAP4 PUSH1 0x40 SWAP2 DUP3 SWAP2 SUB SLT PUSH2 0x2EF JUMPI DUP2 DUP4 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP1 DUP4 SWAP1 SUB PUSH2 0x2EF JUMPI DUP2 DUP2 ADD MLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x2EF JUMPI ADD SWAP2 DUP5 PUSH1 0x3F DUP5 ADD SLT ISZERO PUSH2 0x2EF JUMPI DUP4 DUP4 ADD MLOAD SWAP3 PUSH2 0x28E3 DUP5 PUSH2 0x2247 JUMP JUMPDEST SWAP4 PUSH2 0x28F0 DUP5 MLOAD SWAP6 DUP7 PUSH2 0x21DD JUMP JUMPDEST DUP1 DUP6 MSTORE DUP6 DUP6 ADD SWAP7 DUP5 DUP3 DUP5 ADD ADD GT PUSH2 0x2EF JUMPI DUP7 DUP5 PUSH2 0x290D SWAP4 ADD PUSH2 0x21FF JUMP JUMPDEST PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 SUB PUSH2 0x2942 JUMPI POP POP SWAP2 PUSH2 0x2930 SWAP2 DUP4 PUSH2 0x2940 SWAP5 MLOAD ADD ADD SWAP1 PUSH2 0x285D JUMP JUMPDEST SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH2 0x236B JUMP JUMPDEST JUMP JUMPDEST SWAP1 SWAP4 SWAP2 SWAP1 PUSH4 0x40C10F19 PUSH1 0xE0 SHL DUP2 SUB PUSH2 0x29D9 JUMPI POP SWAP1 DUP3 DUP3 PUSH2 0x2965 SWAP4 MLOAD ADD ADD SWAP1 PUSH2 0x285D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 DUP4 ISZERO PUSH2 0x29C2 JUMPI SWAP2 DUP2 PUSH1 0x0 SWAP4 PUSH2 0x29A9 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP5 PUSH1 0x2 SLOAD PUSH2 0x2449 JUMP JUMPDEST PUSH1 0x2 SSTORE DUP6 DUP6 MSTORE DUP5 DUP4 MSTORE DUP1 DUP6 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST SWAP4 SWAP5 SWAP4 PUSH4 0x2770A7EB PUSH1 0xE2 SHL SUB PUSH2 0x2AA7 JUMPI SWAP1 DUP3 DUP3 PUSH2 0x29F9 SWAP4 MLOAD ADD ADD SWAP1 PUSH2 0x285D JUMP JUMPDEST SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP2 ISZERO PUSH2 0x2A8F JUMPI PUSH1 0x0 SWAP3 DUP3 DUP5 MSTORE DUP4 DUP3 MSTORE DUP6 DUP5 KECCAK256 SLOAD SWAP6 DUP2 DUP8 LT PUSH2 0x2A61 JUMPI DUP2 DUP6 SWAP7 SWAP8 DUP6 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP7 SWAP8 MSTORE DUP8 DUP6 MSTORE SUB DUP2 DUP8 KECCAK256 SSTORE DUP2 PUSH1 0x2 SLOAD SUB PUSH1 0x2 SSTORE MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP5 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 SWAP1 REVERT JUMPDEST DUP5 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x2AB735B737BBB71037B832B930BA34B7B7 PUSH1 0x79 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 0x4A SELFDESTRUCT MOD 0xE4 PUSH22 0xB418E3CB3E3892104B639F9A88CB834DEC83D25EC4B5 0x5D CALLVALUE CREATE 0xBD PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"750:24192:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;2373:22;750:24192;;2373:22;750:24192;;2373:22;750:24192;;;2373:22;750:24192;;;;2373:22;750:24192;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2466:103:5;;;:::i;:::-;750:24192:6;;;;;13144:18;750:24192;;;;;;13186:74;750:24192;;13194:37;;13186:74;:::i;:::-;13296:18;;;750:24192;13278:15;:36;750:24192;;;13342:58;750:24192;13351:18;;;750:24192;;13350:19;13342:58;:::i;:::-;13419:19;;;13439:10;;750:24192;;;;;;;;;;;;;13439:10;750:24192;;;;;;;;;13487:25;750:24192;;13439:10;;13821:66;13439:10;13821:66;13439:10;;750:24192;;;;;;;;;;;;;;13635:4;750:24192;;;;;;;;13650:156;;;;;13635:4;13678:23;:41;750:24192;;;13678:41;:::i;:::-;750:24192;;13650:156;750:24192;;;;;;13439:10;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13821:66;;;;13635:4;3068:21:5;750:24192:6;;13650:156;13750:27;;:45;750:24192;;;13750:45;:::i;:::-;750:24192;;13650:156;;750:24192;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;:::i;:::-;2466:103:5;;;:::i;:::-;750:24192:6;;;;;8152:9;750:24192;;;;;;8184:62;750:24192;;;8192:26;8184:62;:::i;:::-;8282:17;;;750:24192;8264:15;:35;750:24192;;;8326:56;750:24192;8335:17;;;750:24192;;8334:18;8326:56;:::i;:::-;8401:17;;;8419:10;;750:24192;;;;;;;;;;;;;8419:10;750:24192;;;;;;;;;8466:25;750:24192;;8419:10;;8777:61;8419:10;8777:61;8419:10;;750:24192;;;;;;;;;;;;;;8609:4;750:24192;;;;;;;;8624:138;;;;;8652:17;;:32;750:24192;;;8652:32;:::i;8624:138::-;8715:21;;:36;750:24192;;;8715:36;:::i;750:24192::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;2777:63;750:24192;;;;;;;;2777:63;750:24192;2777:63;;750:24192;2777:63;;;;750:24192;;;2777:63;;750:24192;;2777:63;;;750:24192;;2777:63;750:24192;;;;;2777:63;;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;2614:45;750:24192;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7028:10;;750:24192;;;;;;;;;;;7018:25;750:24192;;7093:51;7101:13;;;7093:51;:::i;:::-;750:24192;;;7162:15;750:24192;;7154:67;750:24192;;;;;;7154:67;:::i;:::-;750:24192;;7162:15;750:24192;;;;;;;;;;;7335:17;750:24192;7335:17;;;;:::i;:::-;;750:24192;;;;7390:9;750:24192;;;;;;;;;7464:20;;;;750:24192;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;7708:18;750:24192;;;7630:27;750:24192;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;7509:17;;;750:24192;;;7540:21;;750:24192;7575:17;;;750:24192;;;;;;;7630:15;:27;:::i;:::-;7610:17;;;750:24192;7667:18;;;7028:10;-1:-1:-1;;;;;750:24192:6;;;;;;;;7708:18;750:24192;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;7755:53;750:24192;;;;;;;;;;10503:17:1;;;750:24192:6;;;;;;;;;;;;;;;;;;7028:10;750:24192;;;;;;;;;;;;;;:::i;:::-;7755:53;;;750:24192;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7755:53;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;10503:17:1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7708:18;750:24192;;;;;;7630:27;750:24192;;;;;;;;;;;;;;;;;;;;10503:17:1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;2566:42;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;12168:10;750:24192;;;;;;;;;12158:25;750:24192;;;;12242:13;12655:19;12242:13;12234:51;12703:65;12242:13;;;12234:51;:::i;:::-;12318:17;750:24192;12318:17;;;;:::i;:::-;;750:24192;;;;12383:18;750:24192;;12618:27;750:24192;;;;;;;;;12483:23;;750:24192;;12520:27;;;750:24192;;12561:18;;750:24192;;;;;;;12618:15;:27;:::i;:::-;12597:18;;;750:24192;12655:19;12168:10;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;;;12168:10;750:24192;;;;;;;;12703:65;750:24192;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;3060:48;750:24192;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;3388:5:1;750:24192:6;;:::i;:::-;;;735:10:4;;3388:5:1;:::i;:::-;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;2474:30;750:24192;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;16394:18;750:24192;;;;;;;;16444:37;16436:74;16444:37;;;16436:74;:::i;:::-;750:24192;16529:18;;750:24192;;;;;16520:58;750:24192;;;16528:19;16520:58;:::i;:::-;16615:18;750:24192;16596:15;:37;750:24192;;16702:33;;;:::i;:::-;16753:23;;;750:24192;;;;;16861:55;750:24192;;;;;;;;;;;;;;;;;;;;;16861:55;750:24192;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;16753:23;;;;;;750:24192;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;19646:31;;;;:::i;:::-;750:24192;;;20520:14;750:24192;;19825:28;;;;;;19995:26;750:24192;;;;;;;19995:26;750:24192;19855:3;19892:22;20483:62;;19892:22;19855:3;19892:22;;:::i;:::-;750:24192;;20483:62;;;;;;750:24192;;;;;;;;;;;;;;;;;;20483:62;;;;19855:3;:::i;:::-;19810:13;;750:24192;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;-1:-1:-1;;;;;750:24192:6;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;2510:29;750:24192;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;2876:47;750:24192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;750:24192:6;;;;;2401:31;750:24192;;;;;;;;;;;10050:61;750:24192;;;:::i;:::-;;;;;;;;9423:9;750:24192;;9941:38;:21;750:24192;;;9455:62;750:24192;;;9463:26;9455:62;:::i;:::-;750:24192;;;9535:15;750:24192;;9527:61;750:24192;;;;;;9527:61;:::i;:::-;9607:24;;;750:24192;;;;;;;9598:66;750:24192;;;;;;9606:39;9598:66;:::i;:::-;9901:30;:17;;;750:24192;;;9901:30;:::i;:::-;750:24192;;9941:21;750:24192;;;9941:38;:::i;:::-;750:24192;;;;;;;;;;10030:4;750:24192;;;;;;;;10050:61;10096:14;750:24192;;;10050:61;;;;750:24192;;;;;;;;;;;;;;;;;;10050:61;;;;750:24192;;;;;;;;;;;;;;;;23492:10;;750:24192;;;;;;;;;23482:25;750:24192;;;;;23563:13;750:24192;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;23631:7;750:24192;;;;;;;;-1:-1:-1;;;;;;750:24192:6;;;23563:13;750:24192;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;23707:24;;;750:24192;;;;;;;;;;;;;;;23563:13;750:24192;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;2929:49;750:24192;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;:::i;:::-;22982:10;750:24192;;;;;;;;;;;22972:25;750:24192;;-1:-1:-1;;;;;750:24192:6;;23050:28;;750:24192;;;;;23114:13;750:24192;;;;;;;;;;23267:38;750:24192;;;;;;;23175:7;750:24192;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;23114:13;750:24192;;;;;;;;;;;;;;;;;;;;;;23267:38;750:24192;;;;;;;;;;;;;;;23114:13;750:24192;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;2761:2:1;750:24192:6;;;;;;;15148:66;750:24192;;;:::i;:::-;;;;;;;;14522:18;750:24192;;15027:49;:27;750:24192;;;14564:74;750:24192;;14572:37;;14564:74;:::i;:::-;750:24192;;;14656:15;750:24192;;14648:61;750:24192;;;;;;14648:61;:::i;:::-;14728:25;;;750:24192;;;;;;;14719:67;750:24192;;;;;;14727:40;14719:67;:::i;:::-;14976:41;:23;;;750:24192;;;14976:41;:::i;750:24192::-;;;;;;-1:-1:-1;;750:24192:6;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;735:10:4;750:24192:6;;;;;;;;10503:17:1;;;10484:36;;10480:309;;750:24192:6;4890:5:1;;;;;;:::i;10480:309::-;10540:24;;;10536:130;;9717:19;;9713:89;;735:10:4;9815:21:1;9811:90;;750:24192:6;4890:5:1;750:24192:6;;;;;;;;;;;735:10:4;750:24192:6;;;;;;;;;10480:309:1;;;;9811:90;750:24192:6;;;;;9859:31:1;;;;;;;;750:24192:6;9859:31:1;9713:89;750:24192:6;;;;;9759:32:1;;;;;;;;750:24192:6;9759:32:1;10536:130;750:24192:6;;;-1:-1:-1;;;10591:60:1;;735:10:4;10591:60:1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;10591:60:1;;;750:24192:6;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;2881:12:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;11195:9;750:24192;;;;;;11227:62;750:24192;;;11235:26;11227:62;:::i;:::-;11308:17;;;750:24192;;;;11299:56;750:24192;;;11307:18;11299:56;:::i;:::-;11392:17;;;750:24192;11373:15;:36;750:24192;;11477:32;;;:::i;:::-;11527:23;;;750:24192;;;;;;11693:18;750:24192;;;;;;;;;;;;11693:18;750:24192;11675:37;750:24192;;;;;;;;:::i;:::-;11675:37;:::i;:::-;750:24192;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11736:49;;;;;;750:24192;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;-1:-1:-1;;;;750:24192:6;;;;;11736:49;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11736:49;750:24192;;;;;;;;;;;11392:17;750:24192;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;11527:23;;;;;;750:24192;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;2438:30;750:24192;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;:::i;:::-;;;735:10:4;;9717:19:1;9713:89;;-1:-1:-1;;;;;750:24192:6;;9815:21:1;;9811:90;;735:10:4;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;9989:31:1;750:24192:6;735:10:4;9989:31:1;;750:24192:6;;;;;;;9713:89:1;750:24192:6;;-1:-1:-1;;;9759:32:1;;750:24192:6;9759:32:1;;;750:24192:6;;;9759:32:1;750:24192:6;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;750:24192:6;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;-1:-1:-1;750:24192:6;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;17342:15;750:24192;;17334:61;750:24192;;;;;;17334:61;:::i;:::-;750:24192;;;17414:17;750:24192;;;;;;;;;;17953:66;750:24192;;;;;17414:17;750:24192;;;;;;;;;;;;;;17812:9;750:24192;;;;;;;;17848:26;17844:94;;750:24192;;17953:66;18004:14;750:24192;;;17953:66;;;;750:24192;;;;;;;;;;;;;;;;;;17844:94;17908:18;750:24192;17890:37;750:24192;;;;17908:18;;;;;750:24192;:::i;17890:37::-;17844:94;;;750:24192;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;2726:45;750:24192;;;;;;;2726:45;750:24192;;2726:45;750:24192;2726:45;750:24192;2726:45;750:24192;2726:45;;750:24192;:::i;:::-;;;;:::i;:::-;2726:45;;;750:24192;2726:45;750:24192;;2726:45;;750:24192;2726:45;;;750:24192;;2726:45;;;750:24192;;;;;;;;2726:45;;;750:24192;;;;;;2726:45;;;;;750:24192;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;23895:7;750:24192;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;23895:7;-1:-1:-1;750:24192:6;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;750:24192:6;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;750:24192:6;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;750:24192:6;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;750:24192:6;;;;-1:-1:-1;750:24192:6;;;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;750:24192:6;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;750:24192:6;;;;:::o;:::-;;;;;;;;-1:-1:-1;;750:24192:6;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;-1:-1:-1;;;;;750:24192:6;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;750:24192:6;;;;;;:::o;:::-;;-1:-1:-1;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;750:24192:6;;;;;;;;-1:-1:-1;750:24192:6;18564:15;750:24192;;;;-1:-1:-1;750:24192:6;;;18225:371;;750:24192;;;;;;;;;;;;;;;;;;;;;;:::o;5297:300:1:-;;-1:-1:-1;;;;;750:24192:6;;;;5380:18:1;;5376:86;;750:24192:6;5475:16:1;;;5471:86;;5997:540;750:24192:6;;;;;;;;;;;6244:19:1;;;;6240:115;;750:24192:6;;;;;6987:25:1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:25:1;5297:300::o;6240:115::-;750:24192:6;;-1:-1:-1;;;6290:50:1;;-1:-1:-1;;;;;750:24192:6;;;;6290:50:1;;;750:24192:6;;;;;;;;;;;;;;;;10591:60:1;5471:86;750:24192:6;;-1:-1:-1;;;5514:32:1;;5396:1;5514:32;;;750:24192:6;;;5514:32:1;5376:86;750:24192:6;;-1:-1:-1;;;5421:30:1;;5396:1;5421:30;;;750:24192:6;;;5421:30:1;750:24192:6;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;-1:-1:-1;;750:24192:6;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;-1:-1:-1;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;750:24192:6;;;;;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;2575:307:5;1899:1;2702:7;750:24192:6;2702:18:5;2698:86;;1899:1;2702:7;750:24192:6;2575:307:5:o;2698:86::-;750:24192:6;;-1:-1:-1;;;2743:30:5;;;;;750:24192:6;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;:::o;10394:580::-;;750:24192;-1:-1:-1;750:24192:6;10536:9;750:24192;;10568:62;750:24192;-1:-1:-1;750:24192:6;;;;10576:26;10568:62;:::i;:::-;10682:21;10662:17;;;750:24192;10682:21;;750:24192;10662:41;;;;;:::i;:::-;10775:3;10739:32;10662:17;750:24192;10755:16;750:24192;10739:32;;:::i;:::-;750:24192;-1:-1:-1;10813:28:6;;;;;10860:58;;10394:580;10937:30;;;10394:580;:::o;10860:58::-;10877:41;;-1:-1:-1;10860:58:6;;;;750:24192;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;750:24192:6;;;;;;;;;;;;;;;;;;;;15490:647;-1:-1:-1;750:24192:6;15643:18;750:24192;;;-1:-1:-1;750:24192:6;;15685:74;750:24192;;15693:37;;15685:74;:::i;:::-;15822:27;15796:23;;;750:24192;15822:27;;750:24192;15796:53;;;;;:::i;18841:573::-;19002:62;-1:-1:-1;750:24192:6;;;;18970:9;750:24192;;;;;;19010:26;19002:62;:::i;:::-;19169:13;19184:28;20975:1;19184:28;;;;19396:11;;19403:4;18841:573;:::o;19214:3::-;19292:29;19251:22;;;:::i;:::-;-1:-1:-1;750:24192:6;18564:15;750:24192;;;;-1:-1:-1;750:24192:6;;;18225:371;;19292:29;19291:30;19287:81;;19214:3;;;:::i;:::-;19169:13;;19287:81;19341:12;;:::o;21150:323::-;21239:11;;21235:25;;21301:1;21291:11;;21287:27;;21352:1;21342:11;;21338:26;;21399:1;21389:11;21385:29;;750:24192;;-1:-1:-1;;;21437:29:6;;750:24192;21437:29;;;750:24192;;;;;;-1:-1:-1;;;750:24192:6;;;;;;21437:29;21385;21409:5;21402:12;:::o;21338:26::-;21355:9;21362:2;21355:9;:::o;21287:27::-;21304:10;21311:3;21304:10;:::o;21235:25::-;21252:8;21259:1;21252:8;:::o;750:24192::-;;;;;;;;;;;;-1:-1:-1;;;;;750:24192:6;;;;;;;;;;;;:::o;21613:1113::-;750:24192;;21772:39;;;;;;;;;750:24192;;;;;;;;;21772:39;;;750:24192;-1:-1:-1;;;;;;750:24192:6;;;21772:39;750:24192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;21834:58:6;;750:24192;;;;;22003:36;750:24192;;22079:6;750:24192;;22003:36;;;;:::i;:::-;750:24192;-1:-1:-1;;;;;750:24192:6;22063:10;22079:6;:::i;:::-;21613:1113::o;21830:890::-;750:24192;;;;-1:-1:-1;;;22107:54:6;;750:24192;;;;;;22272:36;750:24192;;22272:36;;;;:::i;:::-;-1:-1:-1;;;;;750:24192:6;;;;7432:21:1;;7428:91;;750:24192:6;;6547:425:1;750:24192:6;6137:21:1;6987:25;750:24192:6;6137:21:1;750:24192:6;6137:21:1;:::i;:::-;;750:24192:6;;;;;;;;;;;;;;;;;;;;6987:25:1;21613:1113:6:o;7428:91:1:-;750:24192:6;-1:-1:-1;;;7476:32:1;;-1:-1:-1;7476:32:1;;;750:24192:6;;;7476:32:1;22103:617:6;750:24192;;;-1:-1:-1;;;22360:54:6;750:24192;;;;;22527:36;750:24192;;22527:36;;;;:::i;:::-;750:24192;-1:-1:-1;;;;;750:24192:6;;;;7958:21:1;;7954:89;;5997:540;750:24192:6;;;;;;;;;;;6244:19:1;;;;6240:115;;750:24192:6;;;;;6987:25:1;750:24192:6;;;;;;;;;;;;6714:21:1;750:24192:6;;6714:21:1;750:24192:6;;;;;6987:25:1;21613:1113:6:o;6240:115:1:-;750:24192:6;-1:-1:-1;;;6290:50:1;;-1:-1:-1;;;;;750:24192:6;;6290:50:1;;;750:24192:6;;;;;;;;;;;;;;;;10591:60:1;7954:89;750:24192:6;;-1:-1:-1;;;8002:30:1;;-1:-1:-1;8002:30:1;;;750:24192:6;;;8002:30:1;22356:364:6;750:24192;;-1:-1:-1;;;22682:27:6;;;;;750:24192;;;;;;;;-1:-1:-1;;;750:24192:6;;;;;;22682:27"},"methodIdentifiers":{"activeModules(bytes32)":"b3fe8bcb","addModule(bytes32,address)":"35324eee","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","checkChainConnection(uint256)":"4de184f6","checkMultiSigResult(uint256)":"057b2074","checkProposalResult(uint256)":"7e5a9b47","checkSyncReadiness(uint256)":"e49a62e9","createMultiSigOperation(bytes32,uint256)":"b00e0730","createProposal(string,uint256,bytes,uint256)":"b3594510","currentChainId()":"6cbadbfa","decimals()":"313ce567","dleInfo()":"f2c26a47","executeMultiSigOperation(uint256)":"893d692a","executeProposal(uint256)":"0d61b519","executedMultiSig(uint256)":"af89d2c4","executedProposals(uint256)":"3b60288a","getCurrentChainId()":"5cf0e8a4","getDLEInfo()":"204c5d1f","getModuleAddress(bytes32)":"22dbefbb","getSupportedChainCount()":"eced3dfb","getSupportedChainId(uint256)":"9a49bdde","isChainSupported(uint256)":"5221c1f0","isModuleActive(bytes32)":"4b145793","modules(bytes32)":"b0b6cc1a","multiSigCounter()":"8c7b04c9","multiSigOperations(uint256)":"c51cab3a","name()":"06fdde03","proposalCounter()":"0c0512e9","proposals(uint256)":"013cf08b","quorumPercentage()":"4fa76ec9","removeModule(bytes32)":"4114509b","signMultiSigOperation(uint256,bool)":"ccd7a490","supportedChains(uint256)":"548d496f","symbol()":"95d89b41","syncExecutionFromChain(uint256,uint256,bytes)":"044bc2bd","syncMultiSigFromChain(uint256,uint256,uint256,uint256,bytes)":"2ee09598","syncToAllChains(uint256)":"7ce288ea","syncVoteFromChain(uint256,uint256,uint256,uint256,bytes)":"456d10c1","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","vote(uint256,bool)":"c9d27afe"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"coordinates\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"jurisdiction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oktmo\",\"type\":\"uint256\"},{\"internalType\":\"string[]\",\"name\":\"okvedCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"kpp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quorumPercentage\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"initialPartners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"initialAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supportedChainIds\",\"type\":\"uint256[]\"}],\"internalType\":\"struct DLE.DLEConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_currentChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fromChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toChainId\",\"type\":\"uint256\"}],\"name\":\"CrossChainExecutionSync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"operationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fromChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toChainId\",\"type\":\"uint256\"}],\"name\":\"CrossChainMultiSigSync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fromChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"toChainId\",\"type\":\"uint256\"}],\"name\":\"CrossChainVoteSync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"coordinates\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"jurisdiction\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oktmo\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"okvedCodes\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kpp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"supportedChainIds\",\"type\":\"uint256[]\"}],\"name\":\"DLEInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"partners\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"InitialTokensDistributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"moduleId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"moduleAddress\",\"type\":\"address\"}],\"name\":\"ModuleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"moduleId\",\"type\":\"bytes32\"}],\"name\":\"ModuleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"operationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"operationHash\",\"type\":\"bytes32\"}],\"name\":\"MultiSigExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"operationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"operationHash\",\"type\":\"bytes32\"}],\"name\":\"MultiSigOperationCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"operationId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"support\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"signaturePower\",\"type\":\"uint256\"}],\"name\":\"MultiSigSigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"operation\",\"type\":\"bytes\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"support\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingPower\",\"type\":\"uint256\"}],\"name\":\"ProposalVoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"SyncCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"activeModules\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_moduleId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_moduleAddress\",\"type\":\"address\"}],\"name\":\"addModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"}],\"name\":\"checkChainConnection\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAvailable\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_operationId\",\"type\":\"uint256\"}],\"name\":\"checkMultiSigResult\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"passed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"quorumReached\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"checkProposalResult\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"passed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"quorumReached\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"checkSyncReadiness\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allChainsReady\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_operationHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"}],\"name\":\"createMultiSigOperation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_operation\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_governanceChainId\",\"type\":\"uint256\"}],\"name\":\"createProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dleInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"coordinates\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"jurisdiction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oktmo\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kpp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_operationId\",\"type\":\"uint256\"}],\"name\":\"executeMultiSigOperation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"executeProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"executedMultiSig\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"executedProposals\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDLEInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"coordinates\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"jurisdiction\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oktmo\",\"type\":\"uint256\"},{\"internalType\":\"string[]\",\"name\":\"okvedCodes\",\"type\":\"string[]\"},{\"internalType\":\"uint256\",\"name\":\"kpp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creationTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct DLE.DLEInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_moduleId\",\"type\":\"bytes32\"}],\"name\":\"getModuleAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSupportedChainCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getSupportedChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"}],\"name\":\"isChainSupported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_moduleId\",\"type\":\"bytes32\"}],\"name\":\"isModuleActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"modules\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multiSigCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"multiSigOperations\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"operationHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"forSignatures\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"againstSignatures\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"executed\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"executed\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"operation\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"quorumPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_moduleId\",\"type\":\"bytes32\"}],\"name\":\"removeModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_operationId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"signMultiSigOperation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supportedChains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fromChainId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"syncExecutionFromChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_operationId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fromChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_forSignatures\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_againstSignatures\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"syncMultiSigFromChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"syncToAllChains\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fromChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_forVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_againstVotes\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"syncVoteFromChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"vote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u043a\\u043e\\u043d\\u0442\\u0440\\u0430\\u043a\\u0442 DLE \\u0441 \\u043c\\u043e\\u0434\\u0443\\u043b\\u044c\\u043d\\u043e\\u0439 \\u0430\\u0440\\u0445\\u0438\\u0442\\u0435\\u043a\\u0442\\u0443\\u0440\\u043e\\u0439 \\u0438 \\u043c\\u0443\\u043b\\u044c\\u0442\\u0438-\\u0447\\u0435\\u0439\\u043d \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u043e\\u0439\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"addModule(bytes32,address)\":{\"details\":\"\\u0414\\u043e\\u0431\\u0430\\u0432\\u0438\\u0442\\u044c \\u043c\\u043e\\u0434\\u0443\\u043b\\u044c\",\"params\":{\"_moduleAddress\":\"\\u0410\\u0434\\u0440\\u0435\\u0441 \\u043c\\u043e\\u0434\\u0443\\u043b\\u044f\",\"_moduleId\":\"ID \\u043c\\u043e\\u0434\\u0443\\u043b\\u044f\"}},\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"checkChainConnection(uint256)\":{\"details\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043a \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0435\",\"params\":{\"_chainId\":\"ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\"},\"returns\":{\"isAvailable\":\"\\u0414\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u0430 \\u043b\\u0438 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0430\"}},\"checkMultiSigResult(uint256)\":{\"details\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442 \\u043c\\u0443\\u043b\\u044c\\u0442\\u0438\\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u0438\",\"params\":{\"_operationId\":\"ID \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\"},\"returns\":{\"passed\":\"\\u041f\\u0440\\u043e\\u0448\\u043b\\u0430 \\u043b\\u0438 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044f\",\"quorumReached\":\"\\u0414\\u043e\\u0441\\u0442\\u0438\\u0433\\u043d\\u0443\\u0442 \\u043b\\u0438 \\u043a\\u0432\\u043e\\u0440\\u0443\\u043c\"}},\"checkProposalResult(uint256)\":{\"details\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442 \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\",\"params\":{\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"},\"returns\":{\"passed\":\"\\u041f\\u0440\\u043e\\u0448\\u043b\\u043e \\u043b\\u0438 \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\",\"quorumReached\":\"\\u0414\\u043e\\u0441\\u0442\\u0438\\u0433\\u043d\\u0443\\u0442 \\u043b\\u0438 \\u043a\\u0432\\u043e\\u0440\\u0443\\u043c\"}},\"checkSyncReadiness(uint256)\":{\"details\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c \\u0432\\u0441\\u0435 \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u044f \\u043f\\u0435\\u0440\\u0435\\u0434 \\u0441\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0430\\u0446\\u0438\\u0435\\u0439\",\"params\":{\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"},\"returns\":{\"allChainsReady\":\"\\u0413\\u043e\\u0442\\u043e\\u0432\\u044b \\u043b\\u0438 \\u0432\\u0441\\u0435 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\"}},\"createMultiSigOperation(bytes32,uint256)\":{\"details\":\"\\u0421\\u043e\\u0437\\u0434\\u0430\\u0442\\u044c \\u043c\\u0443\\u043b\\u044c\\u0442\\u0438\\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044e\",\"params\":{\"_duration\":\"\\u0414\\u043b\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c \\u0441\\u0431\\u043e\\u0440\\u0430 \\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u0435\\u0439\",\"_operationHash\":\"\\u0425\\u0435\\u0448 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\"}},\"createProposal(string,uint256,bytes,uint256)\":{\"details\":\"\\u0421\\u043e\\u0437\\u0434\\u0430\\u0442\\u044c \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435 \\u0441 \\u0432\\u044b\\u0431\\u043e\\u0440\\u043e\\u043c \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438 \\u0434\\u043b\\u044f \\u043a\\u0432\\u043e\\u0440\\u0443\\u043c\\u0430\",\"params\":{\"_description\":\"\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\",\"_duration\":\"\\u0414\\u043b\\u0438\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u044c \\u0433\\u043e\\u043b\\u043e\\u0441\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u0432 \\u0441\\u0435\\u043a\\u0443\\u043d\\u0434\\u0430\\u0445\",\"_governanceChainId\":\"ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438 \\u0434\\u043b\\u044f \\u0441\\u0431\\u043e\\u0440\\u0430 \\u0433\\u043e\\u043b\\u043e\\u0441\\u043e\\u0432\",\"_operation\":\"\\u041e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044f \\u0434\\u043b\\u044f \\u0438\\u0441\\u043f\\u043e\\u043b\\u043d\\u0435\\u043d\\u0438\\u044f\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"executeMultiSigOperation(uint256)\":{\"details\":\"\\u0418\\u0441\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u044c \\u043c\\u0443\\u043b\\u044c\\u0442\\u0438\\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044e\",\"params\":{\"_operationId\":\"ID \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\"}},\"executeProposal(uint256)\":{\"details\":\"\\u0418\\u0441\\u043f\\u043e\\u043b\\u043d\\u0438\\u0442\\u044c \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\",\"params\":{\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"}},\"getCurrentChainId()\":{\"details\":\"\\u041f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c \\u0442\\u0435\\u043a\\u0443\\u0449\\u0438\\u0439 ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\"},\"getDLEInfo()\":{\"details\":\"\\u041f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c \\u0438\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0446\\u0438\\u044e \\u043e DLE\"},\"getModuleAddress(bytes32)\":{\"details\":\"\\u041f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c \\u0430\\u0434\\u0440\\u0435\\u0441 \\u043c\\u043e\\u0434\\u0443\\u043b\\u044f\",\"params\":{\"_moduleId\":\"ID \\u043c\\u043e\\u0434\\u0443\\u043b\\u044f\"}},\"getSupportedChainCount()\":{\"details\":\"\\u041f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c \\u043a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u043c\\u044b\\u0445 \\u0446\\u0435\\u043f\\u043e\\u0447\\u0435\\u043a\"},\"getSupportedChainId(uint256)\":{\"details\":\"\\u041f\\u043e\\u043b\\u0443\\u0447\\u0438\\u0442\\u044c ID \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u043c\\u043e\\u0439 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438 \\u043f\\u043e \\u0438\\u043d\\u0434\\u0435\\u043a\\u0441\\u0443\",\"params\":{\"_index\":\"\\u0418\\u043d\\u0434\\u0435\\u043a\\u0441 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\"}},\"isChainSupported(uint256)\":{\"details\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c, \\u043f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u0435\\u0442\\u0441\\u044f \\u043b\\u0438 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0430\",\"params\":{\"_chainId\":\"ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\"}},\"isModuleActive(bytes32)\":{\"details\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0438\\u0442\\u044c, \\u0430\\u043a\\u0442\\u0438\\u0432\\u0435\\u043d \\u043b\\u0438 \\u043c\\u043e\\u0434\\u0443\\u043b\\u044c\",\"params\":{\"_moduleId\":\"ID \\u043c\\u043e\\u0434\\u0443\\u043b\\u044f\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"removeModule(bytes32)\":{\"details\":\"\\u0423\\u0434\\u0430\\u043b\\u0438\\u0442\\u044c \\u043c\\u043e\\u0434\\u0443\\u043b\\u044c\",\"params\":{\"_moduleId\":\"ID \\u043c\\u043e\\u0434\\u0443\\u043b\\u044f\"}},\"signMultiSigOperation(uint256,bool)\":{\"details\":\"\\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u0430\\u0442\\u044c \\u043c\\u0443\\u043b\\u044c\\u0442\\u0438\\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u044e\",\"params\":{\"_operationId\":\"ID \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\",\"_support\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430 \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"syncExecutionFromChain(uint256,uint256,bytes)\":{\"details\":\"\\u0421\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0438\\u0441\\u043f\\u043e\\u043b\\u043d\\u0435\\u043d\\u0438\\u0435 \\u0438\\u0437 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0439 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\",\"params\":{\"_fromChainId\":\"ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438 \\u043e\\u0442\\u043a\\u0443\\u0434\\u0430 \\u0441\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0438\\u0440\\u0443\\u0435\\u043c\",\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"}},\"syncMultiSigFromChain(uint256,uint256,uint256,uint256,bytes)\":{\"details\":\"\\u0421\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u043c\\u0443\\u043b\\u044c\\u0442\\u0438\\u043f\\u043e\\u0434\\u043f\\u0438\\u0441\\u044c \\u0438\\u0437 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0439 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\",\"params\":{\"_againstSignatures\":\"\\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u0438 \\u043f\\u0440\\u043e\\u0442\\u0438\\u0432\",\"_forSignatures\":\"\\u041f\\u043e\\u0434\\u043f\\u0438\\u0441\\u0438 \\u0437\\u0430\",\"_fromChainId\":\"ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438 \\u043e\\u0442\\u043a\\u0443\\u0434\\u0430 \\u0441\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0438\\u0440\\u0443\\u0435\\u043c\",\"_operationId\":\"ID \\u043e\\u043f\\u0435\\u0440\\u0430\\u0446\\u0438\\u0438\"}},\"syncToAllChains(uint256)\":{\"details\":\"\\u0421\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0430\\u0446\\u0438\\u044f \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u0440\\u0438 100% \\u0433\\u043e\\u0442\\u043e\\u0432\\u043d\\u043e\\u0441\\u0442\\u0438\",\"params\":{\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"}},\"syncVoteFromChain(uint256,uint256,uint256,uint256,bytes)\":{\"details\":\"\\u0421\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0438\\u0440\\u043e\\u0432\\u0430\\u0442\\u044c \\u0433\\u043e\\u043b\\u043e\\u0441 \\u0438\\u0437 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0439 \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438\",\"params\":{\"_againstVotes\":\"\\u0413\\u043e\\u043b\\u043e\\u0441\\u0430 \\u043f\\u0440\\u043e\\u0442\\u0438\\u0432\",\"_forVotes\":\"\\u0413\\u043e\\u043b\\u043e\\u0441\\u0430 \\u0437\\u0430\",\"_fromChainId\":\"ID \\u0446\\u0435\\u043f\\u043e\\u0447\\u043a\\u0438 \\u043e\\u0442\\u043a\\u0443\\u0434\\u0430 \\u0441\\u0438\\u043d\\u0445\\u0440\\u043e\\u043d\\u0438\\u0437\\u0438\\u0440\\u0443\\u0435\\u043c\",\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"}},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"},\"vote(uint256,bool)\":{\"details\":\"\\u0413\\u043e\\u043b\\u043e\\u0441\\u043e\\u0432\\u0430\\u0442\\u044c \\u0437\\u0430 \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u0435\",\"params\":{\"_proposalId\":\"ID \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\",\"_support\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430 \\u043f\\u0440\\u0435\\u0434\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f\"}}},\"title\":\"DLE (Digital Legal Entity)\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/DLE.sol\":\"DLE\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"contracts/DLE.sol\":{\"keccak256\":\"0xfe624e844a95cf86f74c5f7b27898dab0b51dfd7f245a1796b03993e95c56db1\",\"license\":\"PROPRIETARY AND MIT\",\"urls\":[\"bzz-raw://8008399d9582266b053a21a1b76b72309b53b6670adca2208c69129cb1debd96\",\"dweb:/ipfs/QmZa9YXkdNyexgEaJWkJSsrZfDigV8QXB7e54vumPTdf5Q\"]}},\"version\":1}"}}}}}